将文本字符串转换为电子表格中的公式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将文本字符串转换为电子表格中的公式相关的知识,希望对你有一定的参考价值。
我正在尝试开发一个交互式电子表格,以为预算文件创建一个叙述。将有多种选择。一旦用户选择了一个项目,它将帮助他们计算总数。我想设置它们填充的选项框。例如,输入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都有非常基本的了解,并且愿意在必要时创建脚本,但甚至不确定如何解决它。
建议?
答案
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给我的想法!
以上是关于将文本字符串转换为电子表格中的公式的主要内容,如果未能解决你的问题,请参考以下文章