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

如何在Excel中对比两组飞机尾号的相似匹配(含缺失N情况)

飞机尾号匹配解决方案

你有两组飞机尾号数据:一组部分尾号缺失开头的"N"字母,另一组是系统内全量带"N"的尾号。需要找出两组中的匹配项来合并对应账户,但普通筛选或基础搜索公式要求完全匹配,没法处理这种相似文本的情况。

示例数据

无N的尾号带N的尾号
72HCN157UI
32AFN61651
157UIN72HC
34J7N8151L
N502MG
N43SR

方法1:Excel公式实现

假设无N尾号在A列,带N尾号在B列,在C列输入以下公式即可自动匹配对应带N尾号:

  • 适用于Excel 365及以上版本的XLOOKUP:
    =XLOOKUP("*"&A2,B:B,B:B,"无匹配")
  • 兼容旧版Excel的VLOOKUP:
    =IFERROR(VLOOKUP("*"&A2,B:B,1,FALSE),"无匹配")

原理:用通配符*匹配任意前缀,将无N尾号拼在后面,就能精准匹配以"N"开头、后续字符完全一致的带N尾号。


方法2:Python脚本批量处理

如果数据量较大,用Python批量匹配更高效:

基础遍历版

# 整理两组数据(过滤空值)
no_n_tails = [tail for tail in ["72HC", "32AF", "157UI", "34J7", "", ""] if tail]
with_n_tails = ["N157UI", "N61651", "N72HC", "N8151L", "N502MG", "N43SR"]

matches = []
for short_tail in no_n_tails:
    for full_tail in with_n_tails:
        # 检查带N尾号是否为"N"+无N尾号
        if full_tail == f"N{short_tail}":
            matches.append({"无N尾号": short_tail, "匹配带N尾号": full_tail})
            break

# 打印匹配结果
for item in matches:
    print(f"{item['无N尾号']} → {item['匹配带N尾号']}")

高效集合版(适合大数据量)

# 整理数据
no_n_tails = [tail for tail in ["72HC", "32AF", "157UI", "34J7", "", ""] if tail]
with_n_tails = ["N157UI", "N61651", "N72HC", "N8151L", "N502MG", "N43SR"]

# 将带N尾号去掉首字母"N",存入集合用于快速查找
tail_collection = {tail[1:] for tail in with_n_tails}

matches = []
for short_tail in no_n_tails:
    if short_tail in tail_collection:
        matches.append({"无N尾号": short_tail, "匹配带N尾号": f"N{short_tail}"})

# 输出结果
for item in matches:
    print(f"{item['无N尾号']} → {item['匹配带N尾号']}")

运行后会输出所有匹配对,比如72HC → N72HC、157UI → N157UI。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 03:58:12