Googleアプリスクリプトでのrange.getDisplayValue()
とrange.getValue()
の違いは何ですか?
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var val1 = sheet.getRange(7,5).getDisplayValue();
var val2 = sheet.getRange(7,5).getValue();
Val1
およびVal2
は両方とも同じです。
getDisplayValue
は画面に表示される値を返すため、常に文字列ですが、getValue
はその下の値、つまりオブジェクトを返します。範囲にテキストが含まれている場合、文字列になる可能性があります。
範囲に数値または日付が含まれている場合、違いはより明確になります。特に、スプレッドシートロケールが小数点としてカンマを使用して数値をフォーマットする場合、または範囲にカスタムフォーマットを設定する場合。
ヘンリケの説明をさらに補足するために、これは私の経験からの例です。
ISTで時間を入力する列があります
IST
--------
2:00 AM
そして、私が使用してその列の値を取得すると、
var myTime = range.getValue();
実際に戻りました
Sat Dec 30 1899 01:36:40 GMT+0530 (IST)
しかし、range.getDisplayValue()は、入力した内容(午前2時)を返す問題を解決しました。