求适用于Sheets Arrayformula的相对单元格引用公式
在Google Sheets的ARRAYFORMULA中实现相对单元格引用
针对你需要的动态列判断逻辑,分两种常见场景给出解决方案:
场景1:判断同一行左侧第10列的单元格
假设公式放在某列,需要每一行检查当前行左侧第10列的单元格是否为"Yes",返回对应内容。可以用INDEX结合COLUMN()实现通用引用(不管公式在哪个列都生效):
=ARRAYFORMULA(IF(INDEX(1:ROWS(1:1),ROW(1:ROWS(1:1)),COLUMN()-10)="Yes", "sentence", " "))
如果已经确定左侧第10列的具体列标(比如列A),可以直接简化为:
=ARRAYFORMULA(IF(A:A="Yes", "sentence", " "))
场景2:判断当前行上方第10行的单元格
如果需求是检查当前行上方第10行的单元格(比如第11行检查第1行,第12行检查第2行),可以用INDEX结合ROW()来实现:
=ARRAYFORMULA(IF(ROW(1:ROWS(1:1))>10, IF(INDEX(A:A,ROW(1:ROWS(1:1))-10)="Yes", "sentence", " "), ""))
关键说明
ARRAYFORMULA会自动扩展公式到整列,无需手动下拉填充INDEX+ROW()/COLUMN()是ARRAYFORMULA中实现相对引用的核心方法,可避免普通相对引用导致的范围错误- 可以根据实际数据范围替换
1:ROWS(1:1)为具体行范围(比如1:1000),提升公式运行效率
内容的提问来源于stack exchange,提问作者silversmith
相关产品推荐
相关产品推荐

