google-sheets - 如何根据国家/地区显示货币符号
问题描述
我有一张下面的表格,我想根据 C 列中选择的地区显示货币符号。如果我们选择美国,美元符号必须出现在 B 列中的成本之前,就像我们选择欧洲时,符号欧元必须出现在 B 栏中的成本之前。
https://docs.google.com/spreadsheets/d/1dlfXRcSDy7XhQmRuVa3dEmx6zjHukOlOoRp5V-Em1c0/edit#gid=0
您可以随意使用 VLOOKUP 或 CONCATENATE,符号必须出现在价格之前。
提前致谢
解决方案
我为您创建了一个 onEdit 脚本。自己试试吧。如果您想更改要检查的工作表名称/列,我添加了一些评论。希望这符合您的需求。
- 转到工具 -> 脚本编辑器
- 从下拉列表中选择 setNumberFormat 并使用小播放按钮运行它。给先决条件。
- (也许使用下拉列表中的 onEdit 重复 2。)
- 关闭。现在你应该有一个工作脚本。
别人的剧本
function onEdit(){
const ss = SpreadsheetApp.getActiveSpreadsheet();
//Change sheet name to check
const sheet = "Purchase Sheet";
const activeSheet = ss.getActiveSheet().getName();
const cell = ss.getActiveSheet().getActiveCell();
// 3 = column c. So change this to you needs
if (activeSheet == sheet && cell.getColumn() == 27){
console.log("True");
setNumberFormat();
}
}
function setNumberFormat() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const cell = ss.getActiveSheet().getActiveCell();
let numberFormat = "";
//With this as example, you can extend to your needs.
switch (cell.getValue()) {
case "AMERICA":
numberFormat = "$#,##0.00";
break;
case "EUROPE":
numberFormat = "€#,##0.00";
break;
}
cell.offset(0, -21).setNumberFormat(numberFormat);
}
推荐阅读
- node.js - bot-framework v4 (node.js) 中的动态提示选择
- firebase - 如何在单个项目中将多个 gcm_sender_id 用于带有 firebase 的 Web 推送通知
- reactjs - 更新父 ReactJS 中的状态
- ansible - 无法使用模板在 ansible 中获取组 ipv4 地址
- jsf - primefaces commandButton未在ui中设置输入字段值:重复
- typescript - 打字稿批量导入模板
- git - 如果目标分支不在特定父分支之上,如何阻止 BitBucket 合并
- linux-kernel - QEMU 是否模拟 ARM 协处理器
- javascript - 使用来自实时 Firebase 的数据在 js 中使用 d3 的实时条形图
- javascript - Laravel 5.7 来自 DB 的自动完成搜索:JS 无法识别路线