在表中查找特定值

时间:2018-10-22 16:14:06

标签: excel vba excel-vba excel-formula

我正在尝试编写一个公式,该公式在每个ID不为N / A时为我提供最右边的列。但是,当有重复的ID时(例如,下面的2和3已重复),我想要最远的向下ID和最右边的列。

对于ID 2,我想要2.2,对于ID 3,我想要3.2

member

我尝试使用V形查找,如下所示

UPDATE `member` m 
   SET m.inbox = ( SELECT COUNT(1) FROM `inbox` i ON i.to   = m.id )
     , m.sent  = ( SELECT COUNT(1) FROM `sent`  s ON s.from = m.id )

这总是给我最右边的列,也没有考虑重复项,我知道要这样做,所以当它为N / AI时,它给我倒数第二列可以使用某种IF语句,但是,我不知道如何使公式考虑重复项并选择距离最远的ID

1 个答案:

答案 0 :(得分:2)

使用:

=INDEX(INDEX(A:C,MATCH(E2,A:A,0)+COUNTIF(A:A,E2)-1,0),LOOKUP(2,1/(NOT(ISERROR(INDEX(A:C,MATCH(E2,A:A,0)+COUNTIF(A:A,E2)-1,0)))),COLUMN($A$1:$C$1)))

enter image description here


如果N/A是文本而不是错误#N/A,则使用:

=INDEX(INDEX(A:C,MATCH(E2,A:A,0)+COUNTIF(A:A,E2)-1,0),LOOKUP(2,1/(INDEX(A:C,MATCH(E2,A:A,0)+COUNTIF(A:A,E2)-1,0)<>"N/A"),COLUMN($A$1:$C$1)))

enter image description here