Excel中判断两列带连字符数字是重排还是真差异的公式求助
Excel公式实现数字组重排/差异判断
要实现你的需求,核心思路是将两列的数字组拆分后排序,再通过对比排序后的拼接结果,判断是否存在真实数字差异:
适用于Excel 365/2021及以后版本的公式
在C2单元格输入以下公式,下拉填充即可:
=NOT(TEXTJOIN("-", TRUE, SORT(TEXTSPLIT(A2, "-")))=TEXTJOIN("-", TRUE, SORT(TEXTSPLIT(B2, "-"))))
公式拆解:
TEXTSPLIT(A2, "-"):将A2内容按连字符拆分为三个3位数字的数组SORT(...):对拆分后的数字组按从小到大排序,消除顺序差异TEXTJOIN("-", TRUE, ...):将排序后的数字组重新用连字符拼接成字符串NOT(...):对比A、B列处理后的字符串,相等则返回FALSE(仅重排),不相等则返回TRUE(存在差异)
适用于旧版Excel(无TEXTSPLIT/SORT函数)的公式
如果你的Excel版本不支持上述函数,可使用以下替代公式:
=NOT(TEXTJOIN("-", TRUE, SMALL({LEFT(A2,3)+0,MID(A2,5,3)+0,RIGHT(A2,3)+0}, {1,2,3}))=TEXTJOIN("-", TRUE, SMALL({LEFT(B2,3)+0,MID(B2,5,3)+0,RIGHT(B2,3)+0}, {1,2,3})))
公式拆解:
LEFT(A2,3)+0/MID(A2,5,3)+0/RIGHT(A2,3)+0:手动提取三个数字组并转换为数值SMALL(..., {1,2,3}):对三个数值按从小到大排序,生成有序数组TEXTJOIN("-", TRUE, ...):将排序后的数值转回文本并拼接NOT(...):通过对比结果返回最终判断值
内容的提问来源于stack exchange,提问作者CapWater
相关产品推荐
相关产品推荐

