Googleスプレッドシートドキュメントの1つのセルには、「経過時間」:「経過時間」としてフォーマットされたセルの合計で指定された値が保持されます。このセルのカスタムスクリプトで計算を試みると、エラーがスローされます。 typeof()関数を使用してさらに調査すると、これが「オブジェクト」として表示されます。セル値を数値に変換するにはどうすればよいですか? parseInt()またはparseFloat()の試行に失敗しました。..リンクされたシートに here が表示されます。
288:00
を返す式を持つセルA1、次の関数から負の値-3.179.700.519.840.000,00
を返す=daysHrsMins(A1)
を持つセルA2:
function daysHrsMins(input) {
return input*1440;
}
地域の設定:イタリア
タイムゾーン設定:(GMT +1)パリ
セルの値を数値に変換するにはどうすればよいですか?
Googleスプレッドシートでは、期間は日付値の単なる表示形式であるため、カスタム関数が期間をとる場合、日付オブジェクトとして扱われます。
日付/時刻/期間で算術演算を行うときは、次のことに留意する必要があります。
Googleスプレッドシート
Google Apps Script/JavaScript
Googleスプレッドシート
[h]:mm:ss.00
)。Google Apps Script/JavaScript
日付値がGoogleスプレッドシートからGoogle Appsスクリプトに、またはその逆に転送されると、スプレッドシートのタイムゾーンを考慮して自動的に変換されます。
GoogleスプレッドシートとGoogle Appsスクリプトの期間/日付の処理は異なるため、最も簡単なソリューションは、Originアプリケーションで日付/期間から数値への変換を行うことです。
Googleスプレッドシートでは、 TO_PURE_NUMBER を使用してこの変換を実行できます。
=daysHrsMins(TO_PURE_NUMBER(A1))
特定のユースケースでは、 moment.js のようなJavaScriptライブラリを使用すると便利です
このサイトの関連Q&A:
スタックオーバーフローの関連Q&A