Excel如何基于Text列首个唯一值填充Results列且不受排序影响
Excel 跨行匹配填充Results列通用公式(不受排序影响)
公式方案
版本1:Excel 365 / 2021及以上版本(支持XLOOKUP)
直接在Results列第二行(示例中为E2单元格)输入以下公式,下拉填充整列即可:=IF(B2=1,C2,"Dupe-"&XLOOKUP(1,(B:B=1)*(D:D=D2),C:C,""))
版本2:旧版Excel兼容方案
使用INDEX+MATCH数组公式,输入后需要按Ctrl+Shift+Enter三键组合确认生效,再下拉填充:=IF(B2=1,C2,"Dupe-"&INDEX(C:C,MATCH(1,(B:B=1)*(D:D=D2),0)))
逻辑说明
- 公式先判断当前行
Count Unique值是否为1,是则直接返回当前行Available值,匹配第一部分规则 - 若
Count Unique值为0,公式会全局匹配**Count Unique为1且Text值与当前行完全相等**的唯一行,提取该行Available值后拼接Dupe-前缀,匹配第二部分规则 - 公式未依赖任何排序相关的行号、顺序判断逻辑,无论数据表如何调整排序,计算结果都保持正确
自定义调整提示
如果你的实际数据表列顺序和示例不一致,只需替换公式中对应的列标号即可:
B:B替换为你实际存放Count Unique值的列C:C替换为你实际存放Available值的列D:D替换为你实际存放Text值的列
内容的提问来源于stack exchange,提问作者Kalenji
相关产品推荐
相关产品推荐

