excel 查找某个字符在某行中第N次出现位置

比如第一行的数字有:1,3,5,4,6,7,8,9,2,3,4,5,2,7,6,4,1,2,7
我要查找3这个数字在这一行第二次出现的位置。

A1:S1 分别输入上面的数字
B2数组公式!求得第2次3出现再第几列!

注意: CTRL+SHIFT+回车三键同时按下结束公式

=SMALL(IF(A1:S1=3,COLUMN(A1:S1)),2)

或者直接得出列号: CTRL+SHIFT+回车 三键结束!
=SUBSTITUTE(ADDRESS(1,SMALL(IF(A1:S1=3,COLUMN(A1:S1)),2),4),"1","")追问

如果我不要绝对的序列号,而是要在相对引用区域的第几列怎么改公式?谢谢

追答

那就用这一个数组公式即可~
=SMALL(IF(A1:S1=3,COLUMN(A1:S1)),2)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-15
=FIND("|",SUBSTITUTE(A1,"3","|",2),1)
将第n次出现的字符替换成没用过的字符,然后查找位置。追问

我要查找的是一个单元格,而不是某一个单元格中的字符,是我原来表述的不清楚,我举例中的那些数据是在不同的列里

追答

噢,那就按楼上的搂主吧。

第2个回答  2012-12-16
A1:S1 分别输入上面的数字
B2数组公式!求得第2次3出现再第几列!

注意: CTRL+SHIFT+回车三键同时按下结束公式

=SMALL(IF(A1:S1=3,COLUMN(A1:S1)),2)

或者直接得出列号: !
=SUBSTITUTE(ADDRESS(1,SMALL(IF(A1:S1=3,COLUMN(A1:S1)),2),4),"1","")
相似回答