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

如何检查Original Fault列任意DI编码是否存在于Current Fault列字符串中

故障DI编码匹配校验实现方案

核心需求:逐行拆分「Original Fault」列中所有符合DI+4位数字规则的独立编码,校验是否至少有1个编码存在于对应行的「Current Fault」列内容中,匹配成功返回yes。

方案1:Excel/WPS 表格实现(无代码场景)

假设「Original Fault」列为A列、「Current Fault」列为B列,表头在第1行,数据从第2行开始,在新增列的第2行输入以下公式,下拉填充即可:
=IF(SUMPRODUCT(--ISNUMBER(SEARCH(FILTERXML("<t><s>"&SUBSTITUTE(SUBSTITUTE(A2," ",""),",","</s><s>")&"</s></t>","//s"),B2)))>0,"yes","no")
逻辑说明:

  • 先替换单元格内的空格、逗号等常见分隔符,拆分出所有独立编码
  • 逐个检索编码是否存在于「Current Fault」单元格内容中
  • 只要命中1个匹配项就返回yes,否则返回no

方案2:Python Pandas 实现(批量处理大量数据场景)

通过正则提取严格符合规则的编码,不受分隔符类型限制,容错率更高:

import pandas as pd
import re

def di_match_check(row):
    # 提取Original Fault列所有符合DI+4位数字规则的编码
    original_codes = re.findall(r'DI\d{4}', str(row['Original Fault']))
    current_content = str(row['Current Fault'])
    # 遍历校验匹配
    for code in original_codes:
        if code in current_content:
            return 'yes'
    return 'no'

# 生成匹配结果列
df['match_result'] = df.apply(di_match_check, axis=1)

适配调整说明

  • 若编码存在其他分隔符(分号、换行符等),Excel方案可在SUBSTITUTE函数中新增对应替换规则即可;Python方案无需调整,正则会自动跳过分隔符提取符合规则的编码
  • 若需要大小写严格匹配,Excel方案中将SEARCH函数替换为FIND,Python方案中调整匹配逻辑为大小写敏感判断即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:36:04