根据另一个工作表和单元格中的值格式化单元格颜色

时间:2009-01-16 17:31:10

标签: excel

我有一张有两张纸的工作簿。我想根据工作表2第二列中的值格式化工作表1第一列中的单元格背景颜色。

例如,如果sheet2,第6行,第2列的值为4,那么我希望第1页,第4行,第1列的背景颜色为绿色。如果第2页第2列中没有任何值引用第1页中的细分行,我想将其设置为无颜色。没有禁止在第2页的第2列中多次出现相同的值。如果你可以告诉我如果第2页中指向第1页中的行的最后一个值被删除,你可以告诉我如何取消设置颜色,这是值得称赞的。

我确信对于Excel向导来说这可能是微不足道的,但我很少有机会使用excel,当然没有时间成为它的黑带。任何人都可以提供建议,指示或快速公式来做到这一点?如果要实现一些复杂的VB代码,那就不值得了。

谢谢!

5 个答案:

答案 0 :(得分:5)

您也可以使用 命名范围 执行此操作,这样您就不必将单元格从Sheet1复制到Sheet2:

  1. 定义一个命名范围,比如Sheet1Vals为具有您想要基于条件的值的列。您可以使用Insert\Name\Define...菜单项定义新的命名范围。输入您的姓名,然后使用Refers to框中的单元格浏览器选择您想要的范围内的单元格。如果范围随时间变化(添加或删除行),您可以使用此公式,而不是明确选择单元格:

    =OFFSET('SheetName'!$COL$ROW,0,0,COUNTA('SheetName'!$COL:$COL))

    如果列有标题行,请在最后-1之前添加)

  2. 定义一个命名范围,对于包含您想要有条件格式化的值的列,请说Sheet2Vals

  3. 使用“条件格式”对话框创建条件。在下拉列表中指定Formula Is,然后将其放入公式:

    =INDEX(Sheet1Vals, MATCH([FirstCellInRange],Sheet2Vals))=[Condition]

    其中[FirstCellInRange]是您要格式化的单元格的地址,[Condition]是您检查的值。

  4. 例如,如果我在Sheet1中的条件的值为123,而我在格式化的列中列为B,那么我的条件格式类似于:

    =INDEX(Sheet1Vals, MATCH(B1,Sheet2Vals))=1
    =INDEX(Sheet1Vals, MATCH(B1,Sheet2Vals))=2
    =INDEX(Sheet1Vals, MATCH(B1,Sheet2Vals))=3
    

    然后,您可以使用格式画家将这些格式复制到其余单元格中。

答案 1 :(得分:4)

以下是我在Excel 2003中使用条件格式的方法。

要使用Sheet1中的值将条件格式应用于Sheet2,您需要将值镜像到Sheet1

创建Sheet2的镜像,工作表1中的B列

  1. 转到Sheet1
  2. 通过右键单击列A的标题并选择“插入”来插入新列。
  3. 在A1中输入以下公式:

    =IF(ISBLANK(Sheet2!B1),"",Sheet2!B1)

  4. 通过右键单击A1并选择“Copy”来复制A
  5. 通过右键单击其标题并选择“Paste”,将公式粘贴到Sheet1列中。
  6. A,列Sheet2现在应该与B,列A中的值完全相同。

    (注意:如果您不希望在Z列中使用它,那么它也可以在列Sheet1或其他任何位置使用它。)

    应用条件格式

    1. 留在B
    2. 通过左键单击其标题来选择列Format > Conditional Formatting...
    3. 选择菜单项Condition 1
    4. Formula is更改为“=MATCH(B1,$A:$A,0)”并输入以下公式:

      Format...

    5. 点击Sheet1按钮,然后选择绿色背景。

    6. 您现在应该看到绿色背景应用于Sheet1中的匹配单元格。

      隐藏镜像列

      1. 留在A
      2. 右键点击Hide列标题,然后选择“Sheet1”。
      3. 每当Sheet2中的任何内容发生变化时,这都会自动更新{{1}}。

答案 2 :(得分:1)

我正在使用Excel 2003 -

此处使用条件格式的问题是您无法在条件中引用其他工作表或工作簿。您可以做的是将工作表1上的某些列设置为等于工作表2上的相应列(在您的示例中= Sheet2!B6)。我在下面的例子中使用了Column F.然后您可以使用条件格式。在Sheet 1,row,column 1中选择单元格,然后转到条件格式菜单。从下拉列表中选择“Formula Is”并将条件设置为“= $ F $ 6 = 4”。单击格式按钮,然后选择Patterns选项卡。选择你想要的颜色,你已经完成了。

您可以使用format painter工具将条件格式应用于其他单元格,但请注意,默认情况下Excel在条件中使用绝对引用。如果你想要它们是相对的,你需要从条件中删除美元符号。

您最多可以将3个条件应用于单元格(使用条件格式对话框底部的添加>>按钮),这样如果最后一行是固定的(例如,您知道它将始终是第10行)您可以将其用作将背景颜色设置为无的条件。假设你关心的最后一个值在第10行然后(仍然假设你已经将sheet1上的列F设置为表2中的相应单元格),然后将第一个条件设置为公式Is = $ F $ 10 =“”并且模式为无。将它作为第一个条件,它将覆盖任何后续冲突的语句。

答案 3 :(得分:1)

这是我自己的解决方案,用于在将某些高度格式化的工作表或模板复制到新电子表格时恢复原始颜色..它直接复制所有数据,因此只有在您需要复制工作表时才有效,不仅仅应用颜色具有不同数据的不同表格:

通过ctrl + g复制原始格式工作簿并选择适当的范围

将其粘贴到新工作表中,颜色将全部更改

目的地仍然突出显示,右键单击并转到“粘贴特殊”并选择“全部使用源主题”,然后重复粘贴特殊,此时仅使用“值”,它应与原始表格相同你复制了

答案 4 :(得分:0)

我之前使用conditional formatting完成了这项工作。这是一种可视化检查工作簿中单元格并查找数据中异常值的好方法。