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