避免间接()
我有像第3行的数据:
我想findPass这个词的前两个出现。
第一次发生很容易; 在C6我input:
=MATCH("Pass",3:3,0)
并正确地产生3 (列C ) 。 为了得到第二次出现的位置,我想用MATCH()从第一次出现的右边开始,即D3:IV3 ,但是根据我已经在C6中得到的结果,我知道我可以得到D有:
=SUBSTITUTE((LEFT(ADDRESS(1,C6+1),3)),"$","")
所以我正在使用:
=MATCH("Pass",INDIRECT(SUBSTITUTE((LEFT(ADDRESS(1,C6+1),3)),"$","") & "3:IV3"),0)+C6
这工作:
但是我不能相信这个非常难看的公式是find第二个事件的最好方法。 有什么build议么 ??
使用AGGREGATE作为SMALL(IF())来获得Pass
的第二列:
=AGGREGATE(15,6,COLUMN(A:Z)/(A3:Z3="Pass"),2)
其中2
是发生。
我知道你有多less不喜欢数组公式,因为你已经知道第一个你可以find第二个公式:
=MATCH("Pass",INDEX(3:3,D5+1):INDEX(3:3,15000),0)+D5