Google スプレッドシートで数値を時間に変換する
<p>日付、開始時刻、昼食時刻、終了時刻、1 日あたりの労働時間を入力し、最終的に 1 か月の労働時間を合計できる自動 Google スプレッドシートを作成しようとしています。 。 Google スプレッドシートで作業スケジュールを作成することはそれほど難しくありませんが、改善したい点がいくつかあります。 1 つは、スプレッドシートがその日の労働時間を正確に計算しているにもかかわらず、合計が 8 時間 22 分ではなく、午後 8 時 22 分などの時計として表示されることです。もう 1 つは、この形式では時間形式で時間を書かなければならず、面倒なことです。セルに 3 つまたは 4 つの数値を入力して、時刻に変換できるようにしたいと考えています。 </p>
<p>これを実現する唯一の方法は Google Apps Script を使用することだと知り、見つけた唯一のチュートリアルに従いましたが、コードはまったく機能しませんでした。スクリプト ツールは JavaScript を使用します。私は After Effects のエクスプレッションで毎日使用しているため、ある程度の知識はありますが、専門家ではありません。誰かがこのそれほど難しくないプロジェクトを手伝ってくれたら、とても感謝します。もちろん、私がやっていることに誰かがもっと良い代替手段を持っているのであれば、それをリダイレクトすることに全く抵抗はありません。どうもありがとう。チュートリアルに基づいて作成したコードを貼り付けてから、チュートリアル自体へのリンクを貼り付けます。 </p>
<pre class="brush:php;toolbar:false;">var COLUMN_TO_CHECK = 3;
var SHEET_NAME = "Sheet1";
関数 onEdit(e){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var シート = ss.getActiveSheet();
if(sheet.getName() === SHEET_NAME){
var selectedCell =sheet.getActiveCell();
selectedCell.setNumberFormat("@");
if(selectedCell.getColumn() === COLUMN_TO_CHECK){
var cellValue = selectedCell.getValue();
var time = cellValue.substr(0,2) ":" cellValue.substr(cellValue.length - 2);
selectedCell.setValue(時間);
selectedCell.setNumberFormat("hh:mm");
}
}
}</pre>
<p>7 行目でエラーが発生しました: varsheet = ss.getActiveSheet();。デバッガーは変数 <strong>ss</strong> を null と呼びます。 </p>
<p>このチュートリアルで気づいた問題の 1 つは、注目のコードとステップバイステップのコードの間に矛盾があり、コードのいくつかの行がスキップされていることです。これが私のコードが機能しない理由かもしれません。チュートリアルに従っていると、注目のコードを正確にコピーしようとして行き止まりに陥ってしまいました。 </p>
<p>https://yagisanatode.com/2018/06/02/google-apps-script-how-to-automatically-generate-a-time-from-a-four-digit-24-hour-time- -google-sheets/</p> 内