Google Sheets单个单元格设置数值与后缀不同字号并按需对数值取整
Google Sheets 单单元格双字号实现方案
核心代码
function setDualFontSizeCell() { // --------------- 以下为可配置参数 --------------- const INPUT_SHEET_NAME = "日志列表"; // 输入数据所在工作表名 const OUTPUT_SHEET_NAME = "展示表"; // 输出结果的目标工作表名 // 列配置:数组索引对应输入表的列序号(A列为0,B列为1,以此类推) // 每个配置项格式为 [四舍五入精度, 后缀文本],精度填null则不做四舍五入 const COLUMN_CONFIG = [ [null, " 英里"], // 输入表A列:行驶英里数,不四舍五入,后缀为 英里 [2, " MPG"], // 输入表B列:每加仑英里数,保留2位小数,后缀为 MPG // 有更多列可继续按格式添加 ]; // --------------- 配置参数结束 --------------- // 预定义固定样式,不继承原有文本样式 const numberStyle = SpreadsheetApp.newTextStyle() .setFontSize(15) .build(); const suffixStyle = SpreadsheetApp.newTextStyle() .setFontSize(8) .setItalic(true) .build(); const ss = SpreadsheetApp.getActiveSpreadsheet(); const inputSheet = ss.getSheetByName(INPUT_SHEET_NAME); // 输出表不存在则自动创建 const outputSheet = ss.getSheetByName(OUTPUT_SHEET_NAME) || ss.insertSheet(OUTPUT_SHEET_NAME); const rawValues = inputSheet.getDataRange().getValues(); // 取配置列数和实际数据列数的最小值,避免数组越界 const maxCol = Math.min(COLUMN_CONFIG.length, rawValues[0].length); // 批量生成富文本内容 const richTextResults = rawValues.map(row => { const outputRow = []; for (let colIdx = 0; colIdx < maxCol; colIdx++) { const cellValue = row[colIdx]; const [precision, suffix] = COLUMN_CONFIG[colIdx]; // 空值直接返回空 if (cellValue === "" || cellValue === null) { outputRow.push(SpreadsheetApp.newRichTextValue().setText("").build()); continue; } // 按配置处理数值精度 let numStr; if (typeof cellValue === "number" && precision !== null) { numStr = cellValue.toFixed(precision); } else { numStr = String(cellValue); } const fullText = numStr + suffix; // 生成单单元格双样式富文本 const richText = SpreadsheetApp.newRichTextValue() .setText(fullText) .setTextStyle(0, numStr.length, numberStyle) .setTextStyle(numStr.length, fullText.length, suffixStyle) .build(); outputRow.push(richText); } return outputRow; }); // 批量写入输出表 const outputRange = outputSheet.getRange(1, 1, richTextResults.length, maxCol); outputRange.setRichTextValues(richTextResults); }
使用说明
- 打开目标Google表格,点击顶部菜单「扩展程序」→「Apps Script」进入脚本编辑器
- 删除编辑器默认生成的空代码,粘贴上述完整代码
- 根据你的业务需求修改代码开头的可配置参数,包括输入输出工作表名、各列对应的精度和后缀规则
- 点击编辑器顶部保存按钮,为项目命名后点击运行按钮,按照系统提示完成授权即可执行
- 若输入表数据更新,重新运行脚本即可刷新输出表内容,脚本会覆盖输出表原有内容,执行前建议做好备份
内容的提问来源于stack exchange,提问作者UFTaco
相关产品推荐
相关产品推荐

