我试图在多个单元格中使用一个单独的公式来计算值,这取决于应用公式的特定行和列,但是相对于行本身。听起来有点神秘,所以举个例子:
我有以下三行,
第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"))
,但这不是一个有效的公式。用文字说:
我希望有人知道如何实现这一目标。
答案 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