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

Excel多匹配问题:用Sheet1四位数字匹配手机号并返回全部结果

Excel多匹配结果提取解决方案

针对「Sheet1 A列四位数字匹配Sheet2 B列手机号后四位,返回所有匹配手机号」的问题,以下是两种实用解决方案:

方案1:新版Excel(支持FILTER函数)

合并显示所有匹配项(单单元格)

在Sheet1对应行的B列(如B3)输入公式:

=TEXTJOIN(", ", TRUE, FILTER(Sheet2!B:B, RIGHT(Sheet2!B:B,4)=A3, "#N/A"))
  • 功能:将所有匹配的手机号用逗号分隔显示在同一单元格,无匹配时返回#N/A
  • 操作:输入后直接回车即可

分列显示匹配项(多单元格)

若需将不同匹配项放到不同列(如B列第一个、C列第二个):

  • B3单元格(第一个匹配项):
=IFERROR(INDEX(FILTER(Sheet2!B:B, RIGHT(Sheet2!B:B,4)=A3, ""),1), "#N/A")
  • C3单元格(第二个匹配项):
=IFERROR(INDEX(FILTER(Sheet2!B:B, RIGHT(Sheet2!B:B,4)=A3, ""),2), "")
  • 操作:输入后回车,向下拖拽公式即可

方案2:旧版Excel(无FILTER函数,需数组公式)

合并显示所有匹配项(单单元格)

在Sheet1对应行的B列输入公式:

=TEXTJOIN(", ", TRUE, IF(RIGHT(Sheet2!B:B,4)=A3, Sheet2!B:B, ""))
  • 操作:输入完成后,按Ctrl+Shift+Enter组合键确认(公式会自动被大括号包裹)

分列显示匹配项(多单元格)

  • B3单元格(第一个匹配项):
=IFERROR(INDEX(Sheet2!B:B, SMALL(IF(RIGHT(Sheet2!B:B,4)=A3, ROW(Sheet2!B:B)),1)), "#N/A")
  • C3单元格(第二个匹配项):
=IFERROR(INDEX(Sheet2!B:B, SMALL(IF(RIGHT(Sheet2!B:B,4)=A3, ROW(Sheet2!B:B)),2)), "")
  • 操作:每个公式输入后,按Ctrl+Shift+Enter确认,再向下拖拽公式

效果验证

以示例数据为例,Sheet1 A8单元格的7405会匹配到Sheet2中的4802227405和6025557405,使用分列公式时,B8显示第一个手机号,C8显示第二个,完全符合期望输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 08:37:44