GoogleスプレッドシートはExcelほど機能は豊富ではないのですが、無料で利用できてクラウドで保存でき、また他のアプリとの連動(音声入力やアプリデータの反映)がとてもしやすいです。
作業時間計算時に時刻を入力する際に:(コロン)の入力が面倒という声があったので、Googleスプレッドシート上で数値を入力したら自動で時刻入力できるようにしてみました。
コードは以下になります。
let START_COL = 4;
let END_COL = 5;
let START_ROW = 2;
function onEdit(e) {
var range = e.range;
var row = range.getRow();
var col = range.getColumn();
var sheet = range.getSheet();
// range checks
if (range.getHeight() > 1 || range.getWidth() > 1) {
return;
}
if (row < START_ROW || col < START_COL || col > END_COL) {
return;
}
// content check & update
var value = range.getValue().toString();
var matched = value.match(/^(?<hours>[0-9]|0[0-9]|1[0-9]|2[0-3]):?(?<mins>[0-5][0-9])$/);
var newValue = (matched == null) ? ‘ERR: ‘ + value : matched.groups.hours + ‘:’ + matched.groups.mins;
sheet.getRange(row, col).setValue(newValue);
}
let START_COL = 4;
ここは時刻表示を開始する列(左から数えて)番号なので、
4はDから始まることを意味しています。
let END_COL = 5;
ここは時刻表示を終了する列(左から数えて)番号なので、
5はEで終わることを意味しています。
let START_ROW = 2;
開始する行番号。ここでは2行目からを意味しています。
ちょっとした工数削減ですが、これで10分作業が削減できたとして1ヶ月で200分。1年で40時間は業務を削減できます。同様の作業を行うスタッフが5人いたとすると200時間/年も削減できます☺️