价格比较 Sheet,突出最便宜

Price Comparison Sheet, highlighting cheapest

我创建了一个 Google Sheet 用于购买一些新产品,我想突出显示每行中哪个单元格最便宜。我知道如何使用多个条件格式规则(每行一个)来执行此操作,但是是否可以对整个范围使用一个规则?

G 列的每一行都有公式 =MIN(B2:E2),这样我就可以看到每个最便宜的价格并在列的底部将它们合计。我通常这样做的方法是 select G 中的每个单元格,并使用自定义公式 =G2 (相应地格式化)为范围 B2:E2 设置条件格式。

这可以用应用于整个范围的单个规则来完成吗?我已经尝试了通过谷歌搜索找到的内容,但它要么突出显示列或范围中的所有单元格,而不是突出显示每行与 G 匹配的单个单元格。

您要查找的自定义条件格式公式:

=ARRAYFORMULA(IF(LEN($G2:$G), {{IF(B2=$G2, 1)},
                               {IF(C2=$G2, 1)},
                               {IF(D2=$G2, 1)},
                               {IF(E2=$G2, 1)}}))

  • ARRAYFORMULA 用于整体连续性,因此公式不会在评估第一个单元格后停止
  • IF 很明显所以我们可以嵌套一些规则
  • LEN 检查范围 G2:G 并处理最后一个非空单元格的计算结束
  • {}这些叫做数组括号,确保里面的东西是一个整体
  • },{ 数组括号之间的逗号能够将这些数组块彼此相邻堆叠(想象一下由 4 个虚拟 table 构造的虚拟列 - 在这种情况下)
  • IF 另一个,这样我们就可以对某事进行评估
  • B2:$G2 4 个范围之一(4 因为您有 4 个商店)
  • $ 这是 G 列的锁,确保它总是在正确的列上查找,否则,它将继续从 C 查找 H 列列输入,然后是 D 列输入的 I 列等)
  • 1 等于 "true" 例如。如果给定的 IF 语句是可计算的,它 returns 有点虚拟同意给定的部分是计算出来的,所以公式可以计算另一个 IF
  • B2:E 是条件格式规则应适用的范围。也因为这个范围不需要添加范围,比如(就像在进行非条件格式计算时的通常情况)B2:BC2:C 等,而你可以只使用 B2 和因为这是条件格式公式,其他所有内容都通过条件格式公式简单地处理 - 换句话说:整个公式仅用作条件格式的自定义公式(也可能在数据验证中工作)但如果它不会完成工作粘贴在某个单元格中

在条件格式中,select范围B2:E2

然后选择'Value is equal to'

并输入

=$G2

通过相对寻址为每个单元格自动调整公式。

编辑

要停止突出显示空白行,您需要

=and(B2=$G2,B2<>"")

作为自定义公式。