Excel 将两列关联指定给第三列

Excel 将两列关联指定给第三列,excel,Excel,我在Excel 2010中有以下结构 Col1 Col2 Col3 12 C.E C.E 13 D.C.E C.E 14 P.E P.E 100 A.O.H A.O.H C.E P.E ... ... Output: Col3 12 12 14 100

我在Excel 2010中有以下结构

Col1  Col2   Col3
12    C.E    C.E
13    D.C.E  C.E
14    P.E    P.E
100   A.O.H  A.O.H 
             C.E
             P.E
             ...
             ...

Output:   Col3
          12
          12
          14
          100
          12
          14
          ...
          ...
也就是说Col1和Col2在逻辑上是联系在一起的,这意味着C.E的值是12,D.C.E的值是13。我想要的是,将这些关联分配给Col3,即存在C.E的地方,不管它被12替换多少次,也不管有p.E的地方,它将被14替换。
我做这件事很困难,请指导我怎么做

我认为以下公式有效:

=IF(LEN(B2)<>LEN(SUBSTITUTE(B2,"C.E",""))
,12
,IF(LEN(B2)<>LEN(SUBSTITUTE(B2,"P.E",""))
  ,13
  ,B2))
=IF(LEN(B2)LEN(替换为(B2,“C.E”),“”)
,12
,IF(LEN(B2)LEN(替换为(B2,“P.E.”)
,13
,B2))

然而,这并不使用列作为数据源,它是纯硬编码的。如果您想要一个一般性的答案,您需要澄清您的问题。

如果您交换前两列,您可以使用
VLOOKUP
函数获取与特定文本相关的值,如下所示:

Col1   Col2   Col3   Col4   
C.E.   12     C.E
D.C.E  13     C.E
P.E    14     P.E
A.O.H  100    A.O.H 

Col4 Cell Value = VLOOKUP(Col4Cell, $Col1$FirstRow : $Col2$LastRowWithData, 2, 0)

请注意,您不能直接替换
Col3
中的值,因为这将导致循环引用-检查单元格中的值,并在同一单元格中替换

不清楚你在问什么。您能清楚地指定所需的输入和输出吗?从程序逻辑上看,不清楚为什么第2行中的
Col3
不等于
13
。您是否总是从
Col1
中获取尽可能低的子字符串匹配?@JustinJDavies我认为很明显,他使用前两列作为一种字典。可能不需要子字符串。我现在明白你的意思了;我仍然不清楚为什么
Col3
的第2行会匹配
C.E(12)
而不是
D.C.E(13)
你能编辑这个问题来澄清逻辑吗?C.E=总工程师D.C.E=副总工程师用户问题在发布时不清楚,我不相信这个答案会涵盖目前的一般情况。