You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用GAS搜索Google Sheet数组并按条件添加字符?

完整实现代码

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Sheet1');
  // 获取A列最后一行的行号,避免处理全列无效空行
  var lastRow = sheet.getLastRow();
  // 读取A列所有有效行的数据
  var valuesA = sheet.getRange(1, 1, lastRow, 1).getValues();
  // 存储B列输出结果
  var outputB = [];

  valuesA.forEach(row => {
    const originalVal = row[0];
    // 仅处理数值类型的内容
    if (typeof originalVal === 'number') {
      // 判断是否为不含小数点的整数
      if (Number.isInteger(originalVal)) {
        // 自定义追加的小数部分,示例为加0.0,可自行修改为任意值,比如0.3、0.9等
        const processedVal = originalVal + 0.0;
        outputB.push([processedVal]);
      } else {
        // 本身带小数点的数值直接保留
        outputB.push([originalVal]);
      }
    } else {
      // 非数字内容(空值、文本等)直接原样输出
      outputB.push([originalVal]);
    }
  });

  // 批量写入B列
  sheet.getRange(1, 2, lastRow, 1).setValues(outputB);
}

配置说明

  • 自定义小数部分:修改processedVal = originalVal + 0.0中的0.0即可,比如要给所有整数加.7就改为originalVal + 0.7;如果需要随机加0-9的小数点后一位数,可替换为originalVal + Math.floor(Math.random() * 10) / 10
  • 跳过表头:如果A列第一行是表头不需要处理,将getRange(1, 1, lastRow, 1)中的第一个参数1改为2即可
  • 适配文本格式数值:如果A列的数值是文本格式存储的,将整数判断条件Number.isInteger(originalVal)替换为!String(originalVal).includes('.')即可匹配所有不含小数点的内容
  • 固定小数位显示:如果需要强制展示指定位数的小数,可给处理后的值追加.toFixed(n),n为要保留的小数位数,比如(originalVal + 0.5).toFixed(1)会强制保留1位小数

内容的提问来源于stack exchange,提问作者HÙNG CAO HOÀNG THẾ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 08:21:01