如果 Excel 中的一行缺少数据,则标记记录的多行

Flag multiple rows of a record if one row is missing data in Excel

我一直在努力寻找下图最能说明问题的解决方案。

我想做的是标记一系列单元格(这些单元格构成多行的单个记录),如果其中一个记录的行包含空白。

从图中可以看出,单元格 C7 缺少年份,因此需要标记 BBB 的所有记录,因为它们在我的数据中可能无效。稍后可能会手动清理或删除这些记录。

我可以轻松地为缺少年份的一行创建一个标志(使用 ISBLANK),但我还需要填充具有相同 ID 的其他标志单元格。

如果有人对此有任何解决方案,我将不胜感激。谢谢!

如果年份为空,您可以使用以下公式设置单元格格式:

=$A2=INDEX($A:$A,MATCH(TRUE,ISBLANK($C:$C),0))

或者如果您需要检查任何字段:

=OR(IFERROR($A2=INDEX($A:$A,MATCH(TRUE,ISBLANK($B:$B),0)),0),IFERROR($A2=INDEX($A:$A,MATCH(TRUE,ISBLANK($C:$C),0)),0),IFERROR($A2=INDEX($A:$A,MATCH(TRUE,ISBLANK($D:$D),0)),0))

编辑

要在单元格中使用公式,请将它们作为数组公式输入。按 ctrl + shift + enter

确认编辑后的数组公式

我认为这将在 2007 / 2010 年起作用:

如果 return 是一个错误或不正确的结果,请尝试通过按住 ctrl + [=33= 来确认它是一个数组公式]shift 同时点击 enter。如果您正确执行此操作,Excel 将在公式栏中看到的公式周围放置大括号 {...}

=IF(MOD(SUMPRODUCT(N(LEN(IF($A:$A=A2,IF($A:$D="","",$A:$D),""))>0)),4)=0,"",1)

算法

  • Return 仅包含与 ID

    匹配的行的数组
  • 对 return "" 而不是 0 不匹配的行进行一些操作

  • 计算长度 > 0 的结果字符串的数量

  • 检查长度 > 0 的字符串的数量是否为 4 的因数。

    • 如果不是,输出一个flag。