如何让 Excel 记录给定列中所有单元格的值,使得行号的形式为 row = 2^i,其中 i 在 1 到 100 之间?这是否必须使用 VBA?
答案1
将以下公式放入单元格B1并向下拖动。
=INDIRECT("A"&2^(ROW(A1)))
请记住,这将给你一个#参考!根据 Mike Fitzpatrick 的解释,从第 21 行开始出现错误。
答案2
如果我理解正确的话,您想要对一行中的值求和,例如从A1:Ax
哪里开始x = 2^i
。您可以使用以下函数在没有 VBA 的情况下执行此INDIRECT
操作:
=SUM(INDIRECT("A1:A"&(2^i)))
因此,在上面的公式中代入 i=8 将得到 A 列前 8 行的总和。该公式可以轻松扩展,以考虑从其他行开始的范围。
据我所知,Excel 仅支持 2^20 (1048576) 行。