k3d*_*vis 5 worksheet-function microsoft-excel microsoft-excel-2010
我有一个包含 2 个工作表的 Excel 电子表格。第一个只是一个标题行和一列项目名称。第二个是项目组列表,在最左边的列中有一个标题行和一个标题,每个后续行是另一个工作表中的一个或另一个项目:
Sheet1: Sheet2:
+-------+--+--+ +-------+-------+-------+-------+-------+
| Item | | | | Group | Item1 | Item2 | Item3 | ...
+-------+--+--+ +-------+-------+-------+-------+-------+
| Shirt | | | | A | Shirt | Hat | Tie |
+-------+--+--+ +-------+-------+-------+-------+-------+
| Hat | | | | B | Socks | Shirt | SHOES |
+-------+--+--+ +-------+-------+-------+-------+-------+
| Socks | | | | C | Hat | Socks | |
+-------+--+--+ +-------+-------+-------+-------+-------+
| Tie | | | | D | Tie | Tie | Socks |
+-------+--+--+ +-------+-------+-------+-------+-------+
| ... | | |
+-------+--+--+
Run Code Online (Sandbox Code Playgroud)
我想有条件地格式化“Sheet2”中的所有单元格,以便任何与“Sheet1”第一列中的值不匹配的值都标有红色背景;那些做的标有绿色背景。因此,此示例中从 B2 开始的所有单元格都将是绿色的,但值“SHOES”除外。下面的值没有输入任何内容,因此根本不会被格式化。
我试过的绿色格式规则是:
=AND(NOT(ISBLANK(B2)), COUNTIF(Sheet1!$A2:$A1000,B2)>0)
Run Code Online (Sandbox Code Playgroud)
对于红色,大致相同:
=AND(NOT(ISBLANK(B2)), COUNTIF(Sheet1!$A2:$A1000,B2)<1)
Run Code Online (Sandbox Code Playgroud)
这两个规则都“适用于”有点任意范围(我希望它适用于整个工作表,而不是最顶部和最左侧的行/列):
=$C$3:$E$10,$C$36:$Q$50,$E$11,$C$11,$C$2,$E$2:$Q$2,$C$12:$E$35,$F$3:$Q$35
Run Code Online (Sandbox Code Playgroud)
这半有效,但结果是不可预测的。有些值按我的预期突出显示,但仅针对几行,而其他值则没有。可能我的范围以某种方式不正常,但我几乎不像以前那样使用 Excel。任何人都可以伸出援手吗?
谢谢!
正如 Doktoro Reichard 所说,您需要使用条件格式来执行此操作。在这种特定情况下,您需要三个规则:
抱歉,我的 Excel 是日语的。今天是多语言日。
为此,我们需要 3 个公式,这些公式将为每个条件返回TRUEor 。FALSE我假设您的数据如下所示:


以下公式将返回单元格是否为空白。我已选择

=ISBLANK(B2)
Run Code Online (Sandbox Code Playgroud)
请注意,我选择了B2:D5具有相对引用的单元格。这将应用相同的公式来更改所选范围中每个单元格的单元格引用。当此条件成立时,将背景颜色设置为白色(或任何您喜欢的颜色)。
以下公式将返回工作表 1 的列表中是否存在完美匹配:

=NOT(ISERROR(MATCH(B2,Sheet1!$A:$A,0)))
Run Code Online (Sandbox Code Playgroud)
以下公式将返回工作表 1 的列表中是否存在完美匹配:

=ISERROR(MATCH(B2,Sheet1!$A:$A,0))
Run Code Online (Sandbox Code Playgroud)
最上面的规则将首先执行。因此,由于所有空白单元格都将不匹配,因此您需要首先放置空白规则。#2 和 #3 的顺序并不重要(它们永远不会重叠)。
| 归档时间: |
|
| 查看次数: |
61786 次 |
| 最近记录: |