【问题标题】:Flag multiple rows of a record if one row is missing data in Excel如果 Excel 中的一行缺少数据,则标记记录的多行
【发布时间】:2020-09-20 04:23:28
【问题描述】:

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

如果记录的一个行包含空白,我要做的是标记一系列单元格(它们在多行上组成一条记录)。

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

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

如果有人对此有任何想法,我将不胜感激。谢谢!

【问题讨论】:

    标签: excel excel-formula excel-2010 excel-2007 conditional-formatting


    【解决方案1】:

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

    如果它返回一个错误或不正确的结果,请尝试通过按住 ctrl + shift 同时按 enter kbd>。如果您正确执行此操作,Excel 将在公式栏中看到的公式周围放置大括号 {...}。

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

    算法

    • 返回一个仅包含与 ID 匹配的行的数组

    • 对不匹配的行进行一些操作以返回 "" 而不是 0

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

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

      • 如果不是,则输出一个标志。

    【讨论】:

    • 正是我需要的,这对于在最后一列中获取编号标志非常有用。非常感谢你!与其他答案一样,我投了赞成票,但我没有足够的声誉!
    • 谢谢。您仍然应该能够将其中一个答案标记为已接受。见What should I do when someone answers my question。
    【解决方案2】:

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

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

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

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

    编辑

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

    【讨论】:

    • 非常感谢您的解决方案。尝试使用公式时出现错误框:i.imgur.com/Uju4uE0.png 我自己尝试修复它无济于事,不确定我做错了什么。有没有办法可以调整它来为所有缺少年份的 ID 填充 E 列的编号标志?例如,我的示例图像中的“1” - 我的着色更多地是为了突出示例。我尝试调整您的公式但没有成功,Excel 不是我的强项。
    • 谢谢。我发现我收到了错误,因为我在 Windows 区域设置中设置了一个奇怪的定界符,它弄乱了公式。现在工作正常。再次感谢,我刚刚投了赞成票,但我没有足够的代表来计算它。
    猜你喜欢
    • 1970-01-01
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 2022-01-11
    相关资源
    最近更新 更多