在Excel中重复嵌套函数

时间:2011-10-18 20:52:41

标签: excel excel-formula

我试图在多个单元格中使用一个单独的公式来计算值,这取决于应用公式的特定行和列,但是相对于行本身。听起来有点神秘,所以举个例子:

我有以下三行,
第91:10行|小麦| 60,00 | 0,00
第92:11行|香蕉| 91,20 | 1,00
第93:12行|牛奶| 200,00 | 182,00

哪里的|表示每列之间的分隔,这些列以字母命名(默认情况下为Excel)。因此,单元格A92的值将为11.现在,使用以下公式生成列D:=((C92/100)*D11),基本上将单元格C92(91,20)的值除以100,然后将其乘以任何值值保存在单元格D11中(与我生成值的列相同,但使用A列中的值来参考要乘以的值)。

现在,看到我需要在很多行中使用这个公式,我基本上想要这样的事情:=VALUE(=CONCATENATE("D"; ROW();)/100)*CELL("address")),但这不是一个有效的公式。用文字说:

  1. 获取单元格D +当前行号的值(例如第9行的D9等)
  2. 除以100
  3. 乘以当前列字母+当前行号的值(单元格E69处的E69等)
  4. 我希望有人知道如何实现这一目标。

2 个答案:

答案 0 :(得分:0)

我认为这应该可以胜任你的工作:

Sub Test()
    Cells(ActiveCell.Row, "D").FormulaR1C1 = "=RC" & ActiveCell.Column & "*RC3/100"
End Sub

答案 1 :(得分:0)

您可以使用OFFSET执行此操作,但如果您的数据不干净,您可能会获得循环引用或错误。
=(C92/100)*OFFSET(D92,$A92-ROW(),0,1,1)
OFFSET说:获取1行1列范围的值(即A92中的值 - 当前行号)行偏离此行,但在当前列中,对于您的数据是D11