繁体   English   中英

根据excel中的2个条件返回多个不同的值

[英]return multiple different values based on 2 criteria in excel

希望能对您有所帮助。 我有2个看起来像这样的Excel工作表:

Sheet1:

 ID       trnx       Module
 1        aj08       AA
 2        aj08       AA
 3        aj08       AA
 1        CJ20       ps opex
 1        CJ20       ps capex
 2        cn22       HR

 Sheet 2

 ID       trnx       Module
 1        aj08 
 2        aj08 
 1        ml81
 3        aj08
 2        cn22
 1        cj20
 1        cj20
 3        mm02

即时通讯使用的公式是

INDEX($G$2:$G$9,SMALL(IF(A2=$F$2:$F$9,ROW($F$2:$F$9)-MIN(ROW($F$2:$F$9))+1,"")&IF(C2=$H$2:$H$9,ROW($H$2:$H$9)-MIN(ROW($H$2:$H$9))+1,""),COUNTIF(A$2:A$2,A2)&COUNTIF(C$2:C$2,C2)))

我需要根据匹配的ID和trnx填充工作表2中的“模块”,如果ID匹配但trnx不匹配,则它必须将该模块的单元格设置为“ No Match”。

我遇到的问题是工作表2错误地填充了数据。 例如,在工作表2中第二次出现ID“ 1”正在拉出模块ps opex。 由于工作表2中的trnx是ml81,因此假定为“不匹配”。

请帮忙!!! 提前致谢:)

这不会解决我在评论中询问的部分,其中您有“重复键”,但无论如何可能会帮助您:

由于您的键实际上是Idtrnx列的组合,因此我插入了一个串联列(我使用=CONCATENATE(trnx, "_", id) ,这些名称指的是图纸的位置,但是您可以很容易地在另一个方向,或使用其他定界符,只是使一个键列(我们可以对其进行排序和更容易地搜索)。

在工作表2中,我从那里列出的值形成了相同的键列,然后您的模块列变为:

 =IF(ISNA(VLOOKUP(I12,$C$10:$D$15,2,0)), "No Match", VLOOKUP(I12,$C$10:$D$15,2,0))

在该公式中,I12是我们在工作表2中查找的关键单元,而VLOOKUP中的绝对引用是工作表1中的数据表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM