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

如何用脚本将B2:B列文本格式数值转换为mm:ss时间格式

将文本格式秒数转为mm:ss格式的Google Apps Script实现

方案1:手动计算分秒并格式化字符串

这种方式直接拆解秒数为分钟和剩余秒数,拼接成两位格式的mm:ss字符串,结果为文本格式:

function convertSecondsToMMSS() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const dataRange = sheet.getRange(2, 2, sheet.getLastRow() - 1, 1);
  const rawValues = dataRange.getValues();

  const formattedData = rawValues.map(row => {
    const seconds = parseInt(row[0], 10);
    if (isNaN(seconds)) return [""];
    const mins = Math.floor(seconds / 60);
    const secs = seconds % 60;
    return [`${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`];
  });

  dataRange.setValues(formattedData);
}

方案2:复用公式逻辑(转为日期格式)

和你使用的=B2/86400公式原理一致,将秒数转为日期序列值后,设置单元格格式为mm:ss,结果为日期时间类型:

function convertWithDateFormat() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const lastRow = sheet.getLastRow();
  const targetRange = sheet.getRange(2, 2, lastRow - 1, 1);
  
  const dateValues = targetRange.getValues().map(row => {
    const num = parseFloat(row[0]);
    return isNaN(num) ? [null] : [num / 86400];
  });

  targetRange.setValues(dateValues);
  targetRange.setNumberFormat("mm:ss");
}

使用步骤

  1. 打开目标Google表格,点击「扩展程序」>「Apps Script」
  2. 粘贴任意一段代码,保存项目名称
  3. 点击运行按钮,完成首次授权后即可执行转换

注意事项

  • 若数据起始行不是第2行,或需要写入其他列,修改getRange的参数(格式:getRange(起始行, 起始列, 行数, 列数))
  • 方案1输出文本格式的分秒字符串,方案2输出带格式的日期值,可根据需求选择

内容的提问来源于stack exchange,提问作者Martin Brandt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 11:21:06