将文本字符串转换为电子表格中的公式

问题描述 投票:1回答:1

我正在尝试开发一个交互式电子表格,以为预算文件创建一个叙述。将有多种选择。一旦用户选择了一个项目,它将帮助他们计算总数。我想设置它们填充的选项框。例如,输入B1:B4将允许四个单元格。我要命名四个单元格中的每个单元格(即A,B,C,D)。在参考文档中,我想编写各种公式。在某些情况下,我可能需要另外的“(A + B)* C”,或者可能需要“ A * B * C”或“(A + B + C)/ D” ...电子表格会查找文本公式,然后我要转换它。因此,在查找“(A + B)* C”的情况下,我希望它将其转换为=(indirect(A)+ indirect(B))* indirect(C),然后从A( B1),B(B2)等等。

基本上,我想使用或创建与Excel的FORMULATEXT()函数完全相反的东西。我希望在Google表格中执行此操作,但是如果需要,我愿意使用Excel。我对Google的脚本和VBA都有非常基本的了解,并且愿意在必要时创建脚本,但甚至不确定如何解决它。

建议?

google-apps-script google-sheets
1个回答
1
投票
function reCalc() { var sheet = SpreadsheetApp.getActiveSheet(); var src = sheet.getRange("J26"); // The cell which holds the formula var str = src.getValue(); str = str.replace('A', 'indirect("OPTA")').replace('B', 'indirect("OPTB")').replace('C', 'indirect("OPTC")').replace('D', 'indirect("OPTD")').replace('ENR', 'indirect("ENR")'); var cell = sheet.getRange("J30"); // The cell where I want the results to be cell.setFormula(str); // Setting the formula. }

谢谢SpiderPig给我的想法!

© www.soinside.com 2019 - 2024. All rights reserved.