4

我对 excel 编程比较陌生。我正在制作一个显示指数衰减的电子表格。我在每个单元格中使用 TRUNC(RAND()*10,0) 在 1 和 10 之间有一列 (A1:A1000) 的 1000 个随机数。下一列 (B1:B1000) 有一个逻辑掩码 =IF(A1=0,1,0) ,其中如果 A 单元格中的值为 0,则 B 单元格显示 1。接下来,要找到A 列中有 0,下一列取 B1:B1000 的总和,它返回第一列中出现的 0 的数量。我确信有一种更简单的方法可以做到这一点,但这似乎工作正常。

这是我的问题,希望很清楚我在问什么:

接下来,我想在计算 sum(B1:B1000) 的单元格下方的单元格中从 B1:B(1000- (B1:1000)) 中获取逻辑列 (B) 的总和。有没有办法在单元格公式中使用代数来引用单元格?更简单地说,如果我想引用 A3,例如,有没有办法输入 A(2+1) 之类的东西来获得 A3?这有意义吗?

4

2 回答 2

12

在 VBA 中,您可以很容易地做到:

ActiveCell.Formula = "=A" & (2+1) & "+15"

在 Excel 中:

=INDIRECT(ADDRESS(2+1, COLUMN(A1)))+15

这会将公式设置为“=A3+15”。一般来说,这最好用变量来完成,所以请记住这样做。

于 2009-04-30T20:18:40.067 回答
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等的总和。

希望我的例子能帮助你弄清楚如何在实际情况下使用它。

于 2017-10-19T23:24:18.053 回答