我不确定这是否可行,但它应该是。我想将公式应用于整个列B
,而无需手动更改每个公式的行。
我如何编写一个采用当前单元格的公式(比如B2
),并且知道因为它在第2行中以A2
作为输入,或者它在单元格中{ {1}}查看B7
...
A7
的公式为B2
,但使用单个公式应用于整个列=IF(A2="Yes","Please explain here")
。
答案 0 :(得分:2)
更简单的方法是使用
=IF($A:$A="Yes","Please explain here")
请注意,使用INDIRECT
会创建一个Volitile函数,这会影响性能。
答案 1 :(得分:0)
也许你需要这样的东西:
=IF(INDIRECT("A" & ROW())="Yes","Please explain here")
答案 2 :(得分:-1)
当前左侧的1列;
=IF(INDIRECT("RC[-1]",0)="Yes","Please ...")
答案 3 :(得分:-1)
你已经完成了。使用=IF(A2="Yes","Please explain here")
除非您另行指定,(例如,在您的参考中使用$
)Excel中的引用是相对的,因此A2
在B2
中的公式中输入时实际上意味着“我左边的一个牢房。“如果您复制该单元格并将其粘贴到整个列中,或者只是使用右下角的点向下拖动单元格,您将看到每行中的引用都已更新。
如果您使用了$A$2
,那么您已经做了绝对引用,并且引用不会改变 - 它们总是指向$A$2
。您还可以参考$A2
或A$2
使列绝对,行相对,反之亦然。
克里斯(正确)答案中的$A:$A
是一个特例。它是对A列的绝对引用。当您在表达式中放置单列(或单行)范围时,只需要一个值,excel将从同一行(或列)中的范围中选择单元格。被评估的细胞。这很漂亮,因为你的专栏中的所有公式看起来都一样,但是你很容易养成习惯而不小心做了类似=max($A:$A,$D:$D)
而不是=max($A2,$D2)
的事情,这些事情不会给出预期的结果,所以我通常尽量避免它。
一般情况下,如果您使用的是INDIRECT
,那么您做错了。与维护含义相比,性能影响无关紧要。