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

Excel 2019中如何用VLOOKUP匹配长于查找值的字符串?

Excel 2019 字符串最长公共前缀匹配方案

针对待搜索字符串与A列查找值长度不定(无论谁长谁短)的场景,我们可以通过辅助列+主公式的方式实现「从左到右最长公共前缀匹配」,同时满足「公共字符至少4位」的要求。

步骤1:添加辅助列计算公共前缀长度

在C2单元格输入以下数组公式(输入完成后按 Ctrl+Shift+Enter 确认,而非直接回车),并下拉填充到C5:

=MAX(IF(MID($D2,ROW(INDIRECT("1:"&MIN(LEN($D2),LEN(A2)))),1)=MID(A2,ROW(INDIRECT("1:"&MIN(LEN($D2),LEN(A2)))),1),ROW(INDIRECT("1:"&MIN(LEN($D2),LEN(A2)))),0)

这个公式会计算D2字符串与A列对应单元格的最长连续公共前缀长度:

  • MID(...,ROW(INDIRECT(...)),1):逐个提取两个字符串的每一位字符
  • IF(...):对比每一位字符,相同则记录当前位置,不同则记0
  • MAX(...):取最大的连续匹配位置,即最长公共前缀长度

步骤2:编写主公式获取结果

在E2单元格输入以下公式,下拉填充即可:

=IF(MAX($C$2:$C$5)<4,"未找到",INDEX($B$2:$B$5,MATCH(MAX($C$2:$C$5),$C$2:$C$5,0)))

公式逻辑:

  1. MAX($C$2:$C$5):获取所有A列单元格与D2的最长公共前缀长度的最大值
  2. IF(...):若最大值小于4,直接返回「未找到」
  3. INDEX+MATCH:找到第一个达到最长匹配长度的A列单元格,返回对应的B列字母

验证示例

  • 当D2=ABCDE时,C2-C5的计算结果分别为3、5、3、5,最大值为5≥4,第一个匹配的是A3单元格(ABCDEFG),返回B3的H
  • 当D2=ABCDEFGHIJKLM时,C2-C5的计算结果分别为3、7、3、9,最大值为9≥4,匹配的是A5单元格(ABCDEFGHIW),返回B5的Y

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 08:08:25