Excel问题 – 作为单元格引用计算的值
我对excel编程比较陌生。 我正在制作一个显示指数衰减的电子表格。 我在每个单元格中使用TRUNC(RAND()* 10,0),在1和10之间有1000个随机数的列(A1:A1000)。 下一列(B1:B1000)有一个逻辑掩码= IF(A1 = 0,1,0),如果A单元格中的值为0,则B单元格显示一个1.接下来,查找0的A列,我有下一列取B1:B1000的总和,它返回第一列中出现的0的数量。 我相信有一个更简单的方法来做到这一点,但这似乎工作正常。
这是我的问题,希望很清楚我在问什么:
接下来,我想从B1:B(1000-来自(B1:1000)的和的值)的逻辑列(B)的总和中计算总和(B1:B1000)的单元格下面的单元格中。 有没有一种方法可以在单元格公式中引用一个单元格的代数? 更简单地说,如果我想引用A3,例如,有没有办法input类似A(2 + 1)的东西来获得A3? 这有道理吗?
你可以很容易的在VBA中做到这一点:
ActiveCell.Formula = "=A" & (2+1) & "+15"
在Excel中:
=INDIRECT(ADDRESS(2+1, COLUMN(A1)))+15
这会将公式设置为“= A3 + 15”。 一般来说,最好用variables来完成,所以记住这样做。
在Excel中,正如Eric所指出的那样,由于使用了INDIRECT()
函数,您可以像普通string一样将单词写入单元格。
只要确保传递给INDIRECT()
的string是一个有效的单元格引用。
例如 :
=SUM(INDIRECT("B" & 2+7*(H2-1)):INDIRECT("B"&(2+7*H2)-1))
在这里,我每周总计7行( H2
)。 它给出B2:B8
, B9:B15
, B16:B22
等的总和
希望我的例子能帮助你弄清楚如何在真实情况下使用它。