Konvertieren Sie Zahlen in der Google-Tabelle in Zeit
<p>Ich versuche, eine automatisierte Google Sheets-Tabelle zu erstellen, in der ich das Datum, die Startzeit, die Mittagszeit, die Endzeit, die Anzahl der pro Tag geleisteten Arbeitsstunden und schließlich die Anzahl der für einen Monat geleisteten Arbeitsstunden eingeben kann . Das Erstellen eines Arbeitsplans in Google Spreadsheet ist nicht allzu schwierig, aber ich würde gerne einige Verbesserungen vornehmen. Einer davon ist, dass die Tabelle zwar die Anzahl der am Tag geleisteten Arbeitsstunden korrekt berechnet, die Gesamtzahl jedoch als Uhrzeit anzeigt, z. B. 20:22 Uhr, und nicht als 8 Stunden und 22 Minuten. Eine andere Sache ist, dass dieses Format mich dazu zwingt, Stunden im Zeitformat zu schreiben, was mühsam ist. Ich möchte in eine Zelle 3 oder 4 Zahlen eingeben und diese in eine Uhrzeit umrechnen lassen können. </p>
<p>Ich habe herausgefunden, dass dies nur durch die Verwendung von Google Apps Script erreicht werden kann. Daher bin ich dem einzigen Tutorial gefolgt, das ich gefunden habe, aber der Code hat überhaupt nicht funktioniert. Das Skripttool verwendet JavaScript, mit dem ich einigermaßen vertraut bin, da ich es jeden Tag in After Effects-Ausdrücken verwende, aber ich bin kein Experte. Wenn mir jemand bei diesem weniger anspruchsvollen Projekt helfen könnte, wäre ich sehr dankbar. Wenn jemand eine bessere Alternative zu dem hat, was ich mache, bin ich natürlich völlig offen für eine Umleitung. Vielen Dank. Ich füge den Code ein, den ich basierend auf dem Tutorial erstellt habe, und dann einen Link zum Tutorial selbst. </p>
<pre class="brush:php;toolbar:false;">var COLUMN_TO_CHECK = 3;
var SHEET_NAME = "Sheet1";
Funktion onEdit(e){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = 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.lenght - 2);
selectedCell.setValue(time);
selectedCell.setNumberFormat("hh:mm");
}
}
}</pre>
<p>In Zeile 7 ist ein Fehler aufgetreten: var sheet = ss.getActiveSheet();. Der Debugger ruft die Variable <strong>ss</strong> null auf. </p>
<p>Ein Problem, das mir bei dem Tutorial aufgefallen ist, ist, dass es Inkonsistenzen zwischen dem vorgestellten Code und dem Schritt-für-Schritt-Code aufweist und außerdem einige Codezeilen übersprungen werden. Dies kann der Grund sein, warum mein Code nicht funktioniert. Als ich dem Tutorial folgte, landete ich in einer Sackgasse, in der ich versuchte, den vorgestellten Code genau zu kopieren. </p>
<p>https://yagisanatode.com/2018/06/02/google-apps-script-how-to-automatically-generate-a-time-from-a-four-digit-24-hour-time- in -google-sheets/</p>