You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel中查找文本值所有出现行号的方法(含多次匹配需求)

嘿,别慌!完全不熟悉Excel也没关系,我一步步教你怎么找到dll_ctrl0第1、第2甚至第N次出现的行号~

通用方法(适合所有Excel版本)

假设你的目标文本dll_ctrl0在random_sheet_name工作表的A列(如果是其他列,把公式里的A:A换成对应列标就行):

  • 第1次出现的行号:你已经用对了公式,就是:
    =MATCH("dll_ctrl0",'random_sheet_name'!A:A,0)
    
  • 第2次出现的行号:用这个数组公式,输入完后记得按Ctrl+Shift+Enter触发(Excel 365/2021直接按回车就行):
    =SMALL(IF('random_sheet_name'!A:A="dll_ctrl0",ROW('random_sheet_name'!A:A)),2)
    
  • 第N次出现的行号:把公式里的2换成你要找的次数(比如第3次就改成3):
    =SMALL(IF('random_sheet_name'!A:A="dll_ctrl0",ROW('random_sheet_name'!A:A)),N)
    

公式逻辑简单解释(怕你好奇😉)

  • IF('random_sheet_name'!A:A="dll_ctrl0",ROW('random_sheet_name'!A:A)):扫一遍A列所有单元格,碰到dll_ctrl0就返回它的行号,没碰到就返回错误值。
  • SMALL(...,N):从上面得到的所有有效行号里,挑出第N小的那个——也就是第N次出现的位置。
Excel 365/2021专属简化方法

如果用的是新版Excel,有更省心的方式,甚至能一次性拿到所有匹配的行号:

  • 一次性获取所有出现的行号:输入这个公式,Excel会自动“溢出”显示所有匹配的行号,不用手动一个个改次数:
    =XMATCH("dll_ctrl0",'random_sheet_name'!A:A,0,SEQUENCE(COUNTIF('random_sheet_name'!A:A,"dll_ctrl0")))
    
  • 单独找第N次出现:直接用XMATCH的第4参数指定次数就行,比如第2次:
    =XMATCH("dll_ctrl0",'random_sheet_name'!A:A,0,2)
    
新手友好小提示
  • 如果目标文本不在A列,比如在B列,把所有公式里的A:A替换成B:B就行。
  • 如果找的次数超过了实际出现的次数(比如总共只有2个匹配,你找第3次),公式会返回#NUM!错误。可以用IFERROR包裹公式,让它显示更友好的内容,比如:
    =IFERROR(SMALL(IF('random_sheet_name'!A:A="dll_ctrl0",ROW('random_sheet_name'!A:A)),3),"没有找到第3次出现")
    

内容的提问来源于stack exchange,提问作者StarLlama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:22:53