带有相同工作表variables的string公式

我相对比较新的公式,所以我不知道最好的方法来处理这个问题,或通过searchfind一个好的答案。

我有以下数据:

在这里输入图像说明

我想把E列中包含的公式stringreplace为每行,用同一行中的数据replacevariables并计算expression式。 我不知道这是否可能,但我愿意尝试VBmacros或任何需要的。

使用以上思路:
B8 = SUM(4 +(8/2))
B9 = SUM(5 +(6/2))
C8 = SUM(5 +(6/2))
等等…

如果这是不可能的,我真正的首要目标就是只有一个位置的公式。 我将有超过3列的数据,所以能够在一个位置更新它将是完美的。 任何帮助表示赞赏。

使用已定义的名称和您的公式,因为它们实际上是书面的。

select所有包含从列A开始的数据的行然后单击主组中的Formulas \定义名称单击从select中创build

在这里输入图像说明

然后将你的公式复制到第8行和第9行的相应列

在这里输入图像说明

在这里输入图像说明

请注意,从select中创build的已定义名称将添加到工作簿级别,如果还有其他类似的工作表,则可能会出现问题…这可以通过在工作表级别创build名称来改变,使用“定义名称”选项代替。

使用

我试图使用更加dynamic的解决scheme,使用Vlookup来查找要添加在一起的值。

以下是我如何获得数据(请注意,所显示的公式是旧的,请参阅编辑):

在这里输入图像说明

前两个答案块分别是:

=SUM(VLOOKUP("Az",$A$2:$D$6,column(),FALSE)+(VLOOKUP("Cx",$A$2:$D$6,column(),FALSE)/2)) =SUM(VLOOKUP("By",$A$2:$D$6,column(),FALSE)+(VLOOKUP("Ev",$A$2:$D$6,column(),FALSE)/VLOOKUP("Dw",$A$2:$D$6,column(),FALSE)))

…并拖动。

但是我意识到你最终可以更快地编辑公式variables,所以我的第二个答案(第11行和第12行)使用列F,G和H来寻找variables:

=SUM(VLOOKUP($F$11,$A$2:$D$6,COLUMN(),FALSE)+(VLOOKUP($G$11,$A$2:$D$6,COLUMN(),FALSE)/2))
=SUM(VLOOKUP($F$12,$A$2:$D$6,COLUMN(),FALSE)+(VLOOKUP($G$12,$A$2:$D$6,COLUMN(),FALSE)/VLOOKUP($H$12,$A$2:$D$6,COLUMN(),FALSE)))

那种让你想去的地方? 我试图想一个使用也许indirect()的方式更直接地使用E8E9 ,所以如果你编辑公式,其他人也改变…

编辑 – 这里是“最好”的解决scheme,只要你在E8E9编辑variables名称,公式就会自动更新。 (如果你遵循上面的布局),在B8使用=SUM(VLOOKUP(MID($E$8,SEARCH("(",$E$8)+1,2),$A$2:$D$6,COLUMN(),FALSE)+(VLOOKUP(MID($E$8,SEARCH("+(",$E$8)+2,2),$A$2:$D$6,COLUMN(),FALSE)/2))

B9=SUM(VLOOKUP(MID($E$9,SEARCH("(",$E$9)+1,2),$A$2:$D$6,COLUMN(),FALSE)+(VLOOKUP(MID($E$9,SEARCH("+(",$E$9)+2,2),$A$2:$D$6,COLUMN(),FALSE)/VLOOKUP(MID($E$9,SEARCH("/",$E$9)+1,2),$A$2:$D$6,COLUMN(),FALSE)))

这样,如果你想总结,说Sum(Cx+(Ev/2))你所要做的就是编辑E8到那个公式,而B8的答案1会自己更新。