举了例子:
第一个20所在位置:=MATCH(D2,A1:A11,0)
第二个20所在位置:=MATCH(D2,INDIRECT(CONCATENATE("A",MATCH(D2,A1:A11,0)+1,":","A11")),0)+MATCH(D2,A1:A11,0)
第二个20所在位置公式说明:用concatenate公式生成第一个20所在位置的下个位置的单元格位置。然后用indirect引用其内容,再用match定位20所在的位置,然后加上第一个20所在的位置。
根据你的提问描述,应该是精确匹配。用match是很难实现匹配到第2个匹配位置的。可考虑用samll+if+row的组合公式,如:
=SAMALL(IF(数据源列=匹配值,ROW(数据源列行号),4^8),2)
即如果数据源列的数据等于匹配值,就取得其行号,否则取一个很大的数,如4^8=65536,再用small取第2个最小值,就是第2个匹配的数据所在行号。当然,如果只有一个匹配,第2个最小的数就会到65536,最后匹配到该列的第65536行,一般会是空值。
=SMALL(IF(A:A=B1,ROW(A:A)),2)
数组函数Ctrl+shift+enter三键结束
考虑代码比较现实