【发布时间】:2014-06-16 15:41:31
【问题描述】:
我在当地的赛车俱乐部工作,我负责计时。我们的计时装置将时间输出为 Minutes:Seconds.Milliseconds (MM:SS.MS) 并希望输入该数字,但该单元格会自动将其转换为 Seconds.Milliseconds (ss.ms) 格式,这样我就可以轻松地进行一些计算。我也想还是输入 ss.ms 格式。
示例:
工作表“时间”、E、F、G、H 列和任何行都是我一直输入的地方。因此,如果我在单元格 E3 中粘贴 1:24.78 的时间,我希望它在同一单元格中转换为 84.78。
我能够创建一个函数来将 MM:SS.MS 转换为 SS.MS,但我希望有一个定义的区域,当我在单元格中输入 MM:SS.MS 时它会自动转换onEdit 在同一个单元格中。
function MTS() {
var value = arguments[0].split(".");
var time = value[0].split(":");
var ms = parseInt(value[1],10);
var seconds = parseInt(time[time.length-1],10);
var minutes = parseInt(time[time.length-2],10);
var hours = parseInt(time[time.length-3],10);
var output = (minutes * 60) + seconds + '.' + ms;
return output;
};
以下是相关 Google 电子表格的链接:
https://docs.google.com/spreadsheet/ccc?key=0AoFFjAyGmvrydGQ5VVd6cXJWTjJMZkhsRkc3bFplOXc&usp=sharing
【问题讨论】:
-
看起来可以通过编写一个使用编辑事件处理程序的插件来实现:developers.google.com/apps-script/understanding_events
-
这就是我的想法,但我还没有足够的兴趣去弄清楚如何将这两个元素结合起来。
标签: javascript function math google-apps-script google-sheets