有没有一种方法可以根据2列有条件地格式化单元格,其中1列确定另一列的比较器?

时间:2019-06-07 13:46:29

标签: excel vba

我正在尝试建立一个Excel工作表,其中有2个相关的列。在第1列中,有3个可能的文本条目中的1个,另一列是数字。根据第1列中的文本,我想选择比较第2列的内容。例如

if A1.value = "X1" then I want the comparison "B1.value > .1" 
if A1.value = "X2" then I want the comparison "B1.value < -.2"
if A1.value = "X3" then I want the comparison "B1.value >.101"

基于返回TRUE的B1.value比较,我要突出显示单元格。每个可能的文本值的突出显示都将相同

我尝试过使用传统的条件格式,方法是使用编写自己的公式块

=IFS(AND($A1 = "X1", B1 >.1),1,AND($A1 = "X2", B1 <.2),1,AND($A1 = "X3", B1 >.101)) 

那是行不通的,因为B1并未在所有选定的单元格之间传输。因此,单元格B1的公式与C1相同。是否有使用VBA宏完成此操作的好方法?

2 个答案:

答案 0 :(得分:0)

这是我使用的示例数据:

enter image description here

使用此条件格式设置规则:

=OR(AND($A1="X1",$B1>0.1),AND($A1="X2",$B1<-0.2),AND($A1="X3",$B1>0.101))

在范围内:

=$A$1:$B$9

只需为A列中缺少的两个文本值添加更多AND语句

答案 1 :(得分:0)

我认为您需要在公式中同时使用ANDOR
如果要突出显示某些内容
  A1 =“ X1” AND B1> 0.01

  A1 =“ X2” AND B1 <-0.2

  A1 =“ X3” AND B1 <0.101

所以条件格式的公式应该是

=OR(AND($A1="X1",$B1>0.1),AND($A1="X2",$B1<-0.1),AND($A1="X3",$B1>0.101))