Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 是否可以基于另一列/行单元格为一列/行单元格着色?_Excel - Fatal编程技术网

Excel 是否可以基于另一列/行单元格为一列/行单元格着色?

Excel 是否可以基于另一列/行单元格为一列/行单元格着色?,excel,Excel,有两列;第一个包含四个彩色单元格,而第二个包含数字。有没有办法给第二列上色,使其与第一列的颜色顺序相同 A1=绿色,A2=红色,A3=灰色,A4=黑色(彩色)。 B1=4,B2=3,B3=2,B4=1(空白) =A1=绿色,A2=红色,A3=灰色,A4=黑色(彩色)。 =B1=4(绿色),B2=3(红色),B3=2(灰色),B4=1(黑色)(有色) 在这里,手动为列着色将不起作用,因为我希望第二列中的单元格在其颜色发生变化时能够与其旁边的单元格相匹配。例如,如果a列中的一个单元格从“黑色”变为“

有两列;第一个包含四个彩色单元格,而第二个包含数字。有没有办法给第二列上色,使其与第一列的颜色顺序相同

A1=绿色,A2=红色,A3=灰色,A4=黑色(彩色)。 B1=4,B2=3,B3=2,B4=1(空白)

=A1=绿色,A2=红色,A3=灰色,A4=黑色(彩色)。 =B1=4(绿色),B2=3(红色),B3=2(灰色),B4=1(黑色)(有色)

在这里,手动为列着色将不起作用,因为我希望第二列中的单元格在其颜色发生变化时能够与其旁边的单元格相匹配。例如,如果a列中的一个单元格从“黑色”变为“红色”,我希望B列中相应的单元格自动从“黑色”变为“红色”

A1=绿色,A2=红色,A3=灰色,A4=红色(彩色)。 B1=4(绿色),B2=3(红色),B3=2(灰色),B4=1(黑色)(有色)

这里A4现在是“红色”,而B4仍然是“黑色”。我想这样,如果A4改变颜色,B4将改变颜色,以匹配A4


我尝试过使用条件格式,但到目前为止似乎还没有成功,会有这样的公式吗?或者我是SOL吗?

使用条件格式是可能的。
您必须选择两列,然后选择使用公式进行条件格式设置

你可以在这里输入

=$A1="Red"
并将格式设置为红色

$将公式固定到第一列。如果省略它,则只有列A将被着色

这样,您就必须在A列中写入单元格背景色,如果将字体颜色设置为相同的值,您将看不到它

另一个选项是使用VBA宏,该宏在将背景颜色从a列复制到B列的每个SheetChange事件上运行

编辑:

如前所述,您必须为每种颜色创建一条规则

不幸的是,它不起作用,或者我做得不对。我第一次尝试此操作时,所有单元格都变为红色,因此我只选择了第一行(A1和B1)。它们都变成了绿色,这很好,但有一次我通过将A1的颜色改为绿色来测试,B1的颜色变成了白色。我希望颜色变为相应单元格的颜色,现在是绿色。这个公式似乎不完整或不相关。谢谢你的回复。配方很好,我自己每天都用。但是,如果希望单元格根据
文本更改颜色,则需要进行更多的条件格式设置。如果您有4种颜色,请根据您的首选项创建4种条件格式(我的意思是更改文本、单元格背景颜色等)。VBA也是一个选项-但是我会非常小心地使用
SheetChange Event
。这是因为它有力量。它工作得非常好,但是宏所做的每一个更改都无法撤消。因此,使用此事件有时可能会丢失一些数据。我不知道如何使用条件格式使单元格根据文本更改颜色,这就是为什么我首先问这个问题的原因:POk我明白了,我只需要不断向我要使用的同一组单元格添加新规则。谢谢