根据列表中的内容标记某些单元格的条件格式+具有正确的分组吗?

问题描述 投票:0回答:1

我有一个包含 4 列数据的 Excel 工作表(实际上还有更多,但为了简单起见,我把它删掉了)。 A 列表示给定的分组,例如“1”或“2”。假设总是至少有一个分组。 B 列是具有任意行数的随机单词列表。所以 A1:B1 放在一起可能意味着“1:猫”,A2:B2 意味着“2:狗”,等等

C 列和 D 列分别保存属于第 1 组和第 2 组的单词列表。它们每个都有一个标题行,表示它们属于哪个组,然后其余行组成单词列表。每个单词列表可以有任意数量的单词。列表中的单词也不必是唯一的;通常情况下,第 1 组单词列表与第 2 组单词列表几乎相同,只是多了一个单词或类似的内容。

我需要一些适用于 C 列和 D 列的条件格式公式。在 C 中,它应该将单元格标记为红色当且仅当:

  • 单元格不为空。
  • B 列中根本不显示该单元格的单词,或者...
  • 单元格的单词确实显示在 B 列中,但仅位于错误的组旁边。在这种情况下,错误的组将是“组 2”,因为 C 列仅适用于组 1 单词。

然后在 D 中应该应用相同的过程,但错误的组号将是 1。

这是一些示例数据。

Here's some sample data.

在 C 列(以“Group 1”为标题)中,任何内容都不应标记为红色,因为所有单词都出现在 B 中,并位于右侧组编号旁边。在 D 列中,除了“wolf”之外的所有内容都应标记为红色;即使 4 出B 中出现的 6 个单词中,它们只出现在第 1 组旁边。而“bear”根本就不见了。

通过以下公式,我可以覆盖前 2 个条件:=and(NOT(ISBLANK($C1)),ISERROR(MATCH($C1,B:B,0)))

但是我在如何满足第三个条件方面遇到了困难。我尝试过类似“AND(ISNUM(Match($L1,B:B,0)),ISERROR(MATCH($L$1,$A1,0))))”的操作作为附加条件上面的公式,但没有任何东西被标记为红色。如果有人能指出我正确的方向,或者有更好的方法来完全解决这个问题,我将非常感激。

excel vba grouping highlight conditional-formatting
1个回答
0
投票

也许像这样:

=AND(D3<>"",OR(ISERROR(MATCH(D3,B:B,0)),$A3<>$D$1))

相应地调整范围。

© www.soinside.com 2019 - 2024. All rights reserved.