可以使用 concatenate()、text() 和 indirect() 函数与一些数字公式的组合以编程方式构建单元格引用。这种方法效果很好,但会使调用公式看起来拥挤且笨拙。它还会阻止在电子表格上移动(拖动)目标单元格时自动更新引用的单元格地址。
例如,使单元格等于 B2:
=INDIRECT(CONCATENATE("B", TEXT(3-1,"0")))
3-1
仅用于说明目的 - 实际公式更为复杂
有没有办法更直接地创建引用,即不进入文本操作域,例如:
=("B"):(3-1)
这样还能保留移动单元格 B1 的自动引用吗?
答案1
不确定这是否有帮助,但我也可能建议使用 OFFSET 函数。
OFFSET(cell reference, rows, cols [, height [, width]])
例如,你可以使用=OFFSET(B3,-1,0)
,单元格引用将随着数据的移动而更新
答案2
你的例子直接等同于
=INDIRECT("B"&(3-1))
答案3
您可以使用 INDEX,如果您拖动它,它将更新,例如
=INDEX(B:B,3-1)
将其拖动过来它将变为 C:C、D:D 等。