Google Apps脚本新手,但具有一定的VBA编码经验。
我希望能够根据不同的单元格输入确定单元格的数字格式。
例如
根据Col B中的选择,需要将col C中的格式设置为:
£100.00或
$ 100.00或
€100.00。
这应该以这样的方式完成,即google表格底部显示的“autosum”功能仍然可以添加值,或者如果使用sumif函数将导致USD,GBP和EUR总计正确。 I.E.它不能是基于文本的解决方案,或者至少不是不是结果的解决方案。
答案 0 :(得分:1)
尝试使用onEdit trigger,并设置自定义数字格式。
以下是货币格式的代码示例:
function customNumberFormat() {
var SS = SpreadsheetApp.getActiveSpreadsheet();
var ss = SS.getSheetByName('Sheet1');
var range1 = ss.getRange("C2");
var range2 = ss.getRange("C3");
var range3 = ss.getRange("C4");
var format1 = "£ 00.00"
var format2 = "$ 00.00"
var format3 = "€ 00.00"
range1.setNumberFormat(format1);
range2.setNumberFormat(format2);
range3.setNumberFormat(format3);
}
使用脚本检查列中的当前条目,并使用适当的货币格式化。
这样,您将使用sum隐藏列中的条目,并使用格式显示文本。总和可用于其他公式。
还有简单的ArrayFormula:
=ArrayFormula(TEXT(C2,VLOOKUP(OFFSET(B2,,,COUNTA(B2:B)),H:I,2,0)&" 0.00"))
如果您将其粘贴到D2中,它会自动展开。