🔖

GASでスプレッドシートにテキスト形式の数値を入力する

2023/05/24に公開

はじめに

GASマスターになりたいです。嘘です。
GASはちょっとしたことを、簡単に実装できるので便利ですね!

やりたいことはタイトルの通りです。
スプレッドシートに012と入力したら12と表示されてしまう問題を解消します。

結論

この記事を投稿してTweetしたところ、@hayamizu_uiさんからよりスマートな方法を教えていただきました!

  SpreadsheetApp
  .getActiveSheet()
  .getRange('A1')
+ .setNumberFormat('@')  // 書式なしテキストに
  .setValue('012');

https://twitter.com/hayamizu_ui/status/1661389982836174848?s=46


これで解消できます!

  SpreadsheetApp
  .getActiveSheet()
  .getRange('A1')
- .setValue('012');
+ .setValue('"=012"');  // 式として入力

解説

012というテキストではなく、="012"という式で入力しています。
セルにはこのように入力されます。

1点だけ、値は012として取得されることに注意してください。

const value = SpreadsheetApp
.getActiveSheet()
.getRange('A1')
.getValue();

console.log(value);  // 012

おわりに

調べた限り、GASでは値の書式設定ができませんでした(もしできたら教えてください)。
これでキミもGASマスター!

GitHubで編集を提案
株式会社アクティブコア

Discussion