替換函數中的單元格引用,而不是結果字串

替換函數中的單元格引用,而不是結果字串

我有一個複雜的公式,我想在表格中使用它,同時繪製更改公式中一個單元格的效果圖表。

=($E$9+J2)-((($B$9+J2)+($B$23*200*$B$15)+(1E+99-1)*(($B$9+J2)*(1.1+(1-$B$23)*(0.75+($B$22*$B$15*0.4))*$B$15)+($B$23*200*$B$15)+$B$23*(FLOOR.MATH(1E+99/3)*200*$B$15/MAX(1,1E+99-1))))*$B$12/1E+99)*($E$9+J2)/((($E$9+J2)+($E$23*200*$E$15)+(1E+99-1)*(($E$9+J2)*(1.1+(1-$E$23)*(0.75+($E$22*$E$15*0.4))*$E$15)+($E$23*200*$E$15)+$E$23*(FLOOR.MATH(1E+99/3)*200*$E$15/MAX(1,1E+99-1))))*$E$12/1E+99)

正如您所看到的,我嘗試用替換來簡化一些重複函數。

=($E$9+J2)-SUBSTITUTE($B$29,$B$9,($B$9+J2))*$E$9/SUBSTITUTE($E$29,$E$9,($E$9+J2))

這不起作用,因為替代品實際上正在轉換結果將函數轉換為字串並蒐索實例,而不是轉換函數本身。

如果我們用電腦語言編程,我們可以簡單地呼叫具有不同參數的方法,但我不確定 excel 是否能夠做到這一點。

====

為了說明這個「簡化」電子表格中的挑戰,我有兩個公式

  |  A  |  B  |  C  | 
1 |    1   101   202      
2 |  100

儲存格 B1 有這個公式

=A1+A2

單元格 C1 有這個公式

=SUBSTITUTE(B1,A1,A1*2)

我希望單元格 C1 為 102 而不是 202。

答案1

我認為根據您在評論中顯示的內容,您想要的最接近的近似值是

=LET(x,A1*2,y,A2,x+y)

如果您需要解析 B2 中的公式,您可能需要用 VBA 編寫公式解析器。但將整個公式寫成 VBA UDF 可能會更簡單。

注意:LET僅適用於最新版本的 Excel O365

相關內容