答案1
假设您的数据列是 A:C,并且您的第一个数据行是第 1 行,则您可以使用一条规则:
=COLUMN()=MATCH(MIN($A1:$C1),$A1:$C1,0)
这将找到行中的最小值,然后找到行中与该值匹配的第一个单元格。如果单元格的列号相同,它将应用该格式。
您可以为第一行创建条件格式,然后复制并粘贴特殊格式到其余范围。
不同工作表位置的范围翻译
MATCH 会生成相对于其自身范围定义的结果(范围中的第一个单元格 = 位置 1,无论其在工作表上的位置如何)。如果实际列是 G:I,则工作表范围中的第一列是第 7 列,因此公式需要移动 6 列。您可以将匹配结果加上 6,也可以从列号中减去 6 以进行比较。您可以使用以下任一方法:
=COLUMN()=MATCH(MIN($G1:$I1),$G1:$I1,0)+6
或者
=COLUMN()-6=MATCH(MIN($G1:$I1),$G1:$I1,0)
行号不是一个因素,因此对于第 5 行,公式中的行引用将是5
而不是。1
在评论中,您询问如何使其更通用,这样如果您插入一列,它仍然正确。这为任何公式增加了另一个维度;您基本上需要用公式替换硬编码的调整。
6
您可以使用当前第一列数减去 ,而不是固定调整1
。如果您插入或删除列,范围引用将自动调整。因此,您可以使用:
=COLUMN()=MATCH(MIN($G1:$I1),$G1:$I1,0)+COLUMN($G1)-1
答案2
此答案基于fixer1234 的回答这解释了解决我的问题的主要思想。这里我包含了对我有用的解决方案,以使格式移动每次在矩阵的左边插入一列。
fixer1234 的解决方案:=COLUMN()=MATCH(MIN($A1:$C1),$A1:$C1,0)
A1
将和更改C1
为所需的行范围(不是很重要)并添加+COLUMN($G$3)-1
到公式(非常重要)以添加相关性,结果为:
=COLUMN()=MATCH(MIN($G3:$I3),$G3:$I3,0)+COLUMN($G$3)-1
注意:$G$3
是我的矩阵中的第一个单元格。
希望能帮助到你。