web-dev-qa-db-ja.com

GoogleアプリスクリプトでのgetValue()とgetDisplayValue()の違い

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は両方とも同じです。

10
iJay

getDisplayValueは画面に表示される値を返すため、常に文字列ですが、getValueはその下の値、つまりオブジェクトを返します。範囲にテキストが含まれている場合、文字列になる可能性があります。

範囲に数値または日付が含まれている場合、違いはより明確になります。特に、スプレッドシートロケールが小数点としてカンマを使用して数値をフォーマットする場合、または範囲にカスタムフォーマットを設定する場合。

13

ヘンリケの説明をさらに補足するために、これは私の経験からの例です。

ISTで時間を入力する列があります

IST     
--------
2:00 AM 

そして、私が使用してその列の値を取得すると、

var myTime = range.getValue();

実際に戻りました

Sat Dec 30 1899 01:36:40 GMT+0530 (IST)

しかし、range.getDisplayValue()は、入力した内容(午前2時)を返す問題を解決しました。

7
skay