动态列表数值比对:识别不符账户记录的公式实现咨询
解决方案
完全可以通过公式快速实现该需求,以下分不同工具给出可直接复用的方案:
Excel 方案
双辅助列方案(兼容性最好、10万行运算速度最快)
假设你的数据首行是表头,A列为Sample 1、B列为Acct,数据从第2行开始:
- 新增D列作为「当前区块Blue账号」列,D2输入公式后下拉填充:
=IF(A2="Blue",B2,D1) - 新增C列作为「异常标记」列,C2输入公式后下拉填充:
=IF(A2="Red",IF(B2=D2,"","异常"),"")
标记为异常的行就是不符合规则的记录。
单公式方案(无需辅助列,适合Excel 2019及以上版本)
直接在C2输入以下公式后下拉填充即可:=IF(A2="Red",IF(B2=LOOKUP(2,1/(A$2:A2="Blue"),B$2:B2),"","异常"),"")
高性能方案(10万行秒处理,Power Query)
如果不想用公式下拉,更适合大数据量的操作步骤:
- 选中数据区域,点击「数据」选项卡→「自表格/区域」导入Power Query编辑器
- 新增自定义列,公式填写:
if [Sample 1] = "Blue" then [Acct] else null - 选中新增的自定义列,点击「转换」选项卡→「填充」→「向下」
- 再次新增自定义列作为异常标记,公式填写:
if [Sample 1] = "Red" and [Acct] <> [刚才的自定义列名] then "异常" else null - 最后将处理完的表导出回Excel即可。
内容的提问来源于stack exchange,提问作者Ann1311
相关产品推荐
相关产品推荐

