将数字转换为时间(mm:ss)

问题描述 投票:0回答:2

我想使用脚本将 B2:B 列(文本格式)转换为分钟和秒 (mm:ss)。我可以用公式(=B2/86400)来做到这一点,但它应该用脚本来实现:

COLUMN B    (COLUMN B)

244         (= 04:04)
211         (= 03:31)
229         (= 03:49)
246         (= 04:06)

我该怎么做?

javascript google-sheets google-apps-script
2个回答
0
投票

您可以使用 Google 表格中的 Google Apps 脚本来实现此转换。以下脚本将 B 列中的数字转换为分钟和秒格式 (mm:ss) 并填充 C 列中的相邻单元格:

function convertToTime() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const range = sheet.getRange('B2:B' + sheet.getLastRow());
  const values = range.getValues().map(([seconds]) => {
    const minutes = Math.floor(seconds / 60);
    const paddedSeconds = seconds % 60 < 10 ? '0' : '';
    return `${minutes}:${paddedSeconds}${seconds % 60}`;
  });
  range.setValues(values);
}

确保 B 列仅包含代表秒的数字。如果有任何非数字值,脚本将抛出错误。


0
投票

您可以缩短填充的秒数部分:

  const paddedSeconds = (seconds % 60).toString().padStart(2, "0");

© www.soinside.com 2019 - 2024. All rights reserved.