我有一个包含2列的简单工作表
我想得到所有结果(在“H”栏上)(我只能得到第一次出现,我想知道我是否可以得到其他的)包含来自细胞的值G1,没有宏可能吗?任何做这件事的方式都会受到赞赏......任何想法?
答案 0 :(得分:1)
您可以使用ROW()
和SMALL()
来取代MATCH()
,而不是=IFERROR(INDEX($C$4:$C$7,SMALL(IF($D$4:$D$7=$G$1,ROW($D$4:$D$7)-(ROW()-1)),ROWS($D$4:D4))),"Null")
,因为这总是第一次匹配。
$D$4:$D$7=$G$1
因此,如果数组False
返回true(即该值等于G1中的值),您将获得这些值的行号,在这种情况下,您将获得4和6.所有其他将返回-(ROW()-1)
。
使用INDEX
进行一些处理后,4和6变为1和3.这两个值将被输入SMALL()
。
1
然后选择最小的,从第1个开始(从ROWS($D$4:D4)
获得ROWS
),当您向下拖动公式时,ROWS($D$4:D5)
变为{{1}它给出2,SMALL
最终得到第二个最小值,即3。