索引匹配三个单元格

如果一个class级被放弃了,那么应该在column B下去。

一个人注册时会有一排,如果他们没有注册,则会有一排。 Clint McCobb是唯一一个在B列中有价值的人。他注册了一个class级,然后将其删除。

Name, Item ID, and Price列必须匹配。 不确定如何匹配价格考虑有一个积极的和消极的。 如果这些列匹配,则column C的索引值将返回到column B

我对Excel很less了解,并试图拼凑下面的函数。 它应该放在column B

 =INDEX(C:C,MATCH(1,(A2=$A$2:$A$10)*(D2=$D2:$D$10)*(E2=$E$2:$E$10),0)) ABCDE Name | Dropped | Type | Price | Item ID | ============================================================== Joe Smith | | Class | 50 | 350 | Bob Parker | | Drop | -9 | 350 | Clint McCobb | Drop | Class | 10 | 70 | Clint McCobb | | Drop | -10 | 70 | Hannah Smith | | Class | 5 | 311 | 

如果我正确理解你的问题,你想要从column C to B返回值column C to B 我也假定你总是有Type column ,然后Drop

这个数组公式 (在配方栏里面点击Ctrl + Shift + Enter )可以得到你的结果:

 =IF(ROW()=MAX(--($A$2:$A$6=A2)*--($E$2:$E$6=E2)*(ROW($A$2:$A$6))),"",INDEX($C$1:$C$6,MAX(--($A$2:$A$6=A2)*--($E$2:$E$6=E2)*(ROW($A$2:$A$6))))) 

这个function首先要find与NameItem ID (可以添加更多)的匹配,然后返回复制logging的最大行号,并使用INDEX查找logging。 请让我知道这是你在找什么。

你也可以尝试使用COUNTIFS

 =IF(COUNTIFS(A:A,A4,C:C,"Drop",D:D,-D4,E:E,E4),"Drop","") 

在这里输入图像说明

你可以尝试下面的公式,看看它是否适合你。

在单元格B2中:

=IFERROR(IF(D2>0,LOOKUP(2,1/((A2&(0-D2)&E2)=($A$2:$A$6&$D$2:$D$6&$E$2:$E$6)),$C$2:$C$6),""),"")

复制下来。 调整范围部分( $ A $ 2:$ A $ 6&$ D $ 2:$ D $ 6&$ E $ 2:$ E $ 6)),$ C $ 2:$ C $ 6 )以涵盖实际范围。