我有一个包含两张工作表的工作簿。我想根据工作表 2 第二栏中的值格式化工作表 1 第一栏中单元格的背景颜色。
例如,如果工作表 2 第 6 行第 2 列的值是 4,那么我希望工作表 1 第 4 行第 1 列的背景颜色是绿色。如果工作表 2 第 2 列中没有任何值引用工作表 1 中的某一行,我希望将其设置为无颜色。没有禁止同一数值在工作表 2 第 2 列中出现多次的规定。如果您能告诉我如何在删除工作表 2 中指向工作表 1 中某一行的最后一个值时取消颜色设置,我将获得额外奖励。
我相信,对于 Excel 向导来说,这可能是微不足道的小事,但我很少有机会使用 Excel,当然也没有时间成为它的黑带。有谁能给我一些建议、指点或快速公式吗?如果这需要一些复杂的 VB 代码来实现,那就不值得了。
谢谢!
下面是我在 Excel 2003 中使用条件格式化的方法。
要在 Sheet1
中使用来自 Sheet2
的值来应用条件格式化,您需要将这些值镜像到 Sheet1
中。
在工作表 1 中创建工作表 2 第 B 列的镜像####
1.转到 Sheet1
。
2.右键单击列 A'header 并选择 "Insert",插入新列。
3.在 A1 中输入以下公式:
<code>=IF(ISBLANK(Sheet2!B1),"",Sheet2!B1)</code>;
4.右键单击 A1,选择 "Copy
",复制 A1。
5.右键单击列标题并选择 "Paste
" 将公式粘贴到列 A
中。
Sheet1
,列A
中的值现在应与Sheet2
,列B
中的值完全一致。
(注意:如果您不喜欢将其放在 A
列中,将其放在 Z
列或其他任何地方也同样有效)。
1.停留在 Sheet1
上。
2.左键单击列标题,选择列 B
。
3.选择菜单项 Format > Conditional Formatting...
;
4.将 Condition 1
更改为 "Formula is
" 并输入此公式:
<code>=MATCH(B1,$A:$A,0)</code>;
5.单击 Format...
按钮并选择绿色背景。
现在,您将看到绿色背景应用于 Sheet1
中的匹配单元格。
1.停留在 Sheet1
上。
2.右键单击列 A
的标题并选择 "隐藏
"。
这样,每当 Sheet2 中的任何内容发生变化时,都会自动更新 Sheet1。
我使用的是 Excel 2003。
在这里使用条件格式化的问题在于,你不能在条件中引用另一个工作表或工作簿。 您可以做的是将工作表 1 中的某一列设置为等于工作表 2 中的相应列(在您的示例中为 =Sheet2!B6)。 我在下面的示例中使用了 F 列。然后就可以使用条件格式化了。 选择工作表 1 第 1 行第 1 列的单元格,然后转到条件格式化菜单。从下拉菜单中选择 "公式是",然后将条件设置为 "=$F$6=4"。 点击格式按钮,然后选择 "模式 "选项卡。 选择你想要的颜色,然后就大功告成了。
您可以使用格式绘制工具将条件格式应用到其他单元格,但要注意的是,Excel 默认情况下在条件中使用绝对引用。如果想让它们成为相对引用,则需要删除条件中的美元符号。
在一个单元格中最多可以应用 3 个条件(使用条件格式对话框底部的添加>>按钮),因此如果最后一行是固定的(例如,你知道它始终是第 10 行),你可以将其作为条件,将背景颜色设置为无。 假设您所关心的最后一个值位于第 10 行(仍假设您已将工作表 1 中的 F 列设置为工作表 2 中的相应单元格),那么将第一个条件设置为公式 Is =$F$10="",将模式设置为 "无"。 将其作为第一个条件,它将优先于下面任何冲突的语句。