如果单元格以某个值开头,Excel条件格式化整行

3

我想根据单元格设置行格式。

我的表从A6到K207,如果B6中的单元格以SA开头,则希望将该行加粗显示。

我测试了公式:

=IF(LEFT(TRIM(B26),2)="SA","YES","NO") 

在另一个单元格中这样做可以正常工作,但是我无法让格式化正确运行......

我删除了yes/no并将其放入应用于整个表的条件格式规则中,但它不起作用。 即使我将其应用于一行,它也不起作用。

我是否正确在条件格式化中使用if语句? 我已经在Google和这里查找了类似的问题,但没有找到相同的问题,他们都使用了设定值/范围,但没有使用“以...开头”的条件。

2个回答

3

条件格式化默认是一个IF语句,并根据公式是否为TRUEFALSE进行格式化,因此不需要额外的IF语句:

=LEFT($A6,2)="SA"

这样做就可以了,根据需要将其应用于整个区域。

它将测试列a中的所有单元格是否以“SA”开头,并突出显示该单元格。如果将其应用于包括更多列的范围,则$符号将A列固定,因此测试该单元格并基于此突出显示每个单元格,从而有效地突出显示整个行。

您还可以使用OR语句传递多个参数,如下所示:

=OR(LEFT($A6,2)="SA",LEFT($A6,2)="BO")

太好了,谢谢!OR语句在理解条件格式中的多个“if”也是一个很大的帮助 - 这对我来说实际上将是下一个棘手步骤要解决的非常大的帮助 :) - Dan Lewis

3
欢迎来到SO。在使用公式进行条件格式化(CF)时,您需要应用引用。

切换相对引用、绝对引用和混合引用

现在你的公式是=IF(LEFT(TRIM(B26),2)="SA","YES","NO")。您正在使用相对引用,因此CF规则将根据它们的位置进行检查。在A6中,它将检查A6的值,我猜您希望规则始终检查B列的值。

因此,您在公式中需要进行第一次修正(还需要更多的修正,请稍等)。

=IF(LEFT(TRIM($B26),2)="SA","YES","NO") 

现在它将始终检查列B中的值。但我们需要修复其他问题。要基于公式创建CF,您需要制定返回布尔值True或False的公式。您的值Yes或No是字符串(文本),而不是布尔值,因此不起作用。
因此,请尝试使用以下公式,看看是否有效:
=IF(LEFT(TRIM($B26),2)="SA",TRUE,FALSE) 

IF函数允许您提出一个问题,其中答案必须是“是/否”(真/假),根据答案,Excel将执行一种或另一种选项。

基于公式的CF规则仅需要问题本身,而无需选择选项。因此,根据@Plutian在他的答案中所述,这个公式的简短版本只需要进行以下操作:

=LEFT(TRIM($B26),2)="SA"

尝试将其适应于您的需求。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接