Google Apps Script入門
変数って何だ?

Google Apps Script(GAS)の入門解説です
公開日:2016-09-27 最終更新日:2022-11-04

第5回.変数って何だ?


プログラミングを始めて、最初に変数で躓く人が多いようです。
変数が使えなければプログラムは書けません。
Google Apps Scriptでの変数について解説します。


スクリプトの書き方については、前回までの記事でしっかり習得しておいてください。
今回からは、結果のスクリプトのみ掲載し、詳細な書き順は掲載しません。

大文字小文字は区別されますので、タイピングする場合は、大文字小文字に注意してください。


変数とは

プログラムにおいて、扱うデータを入れて必要なときに利用するために用意した入れ物です。

その入れ物に付けた名前が変数名になります。

入れ物と表現しましたが、
変数には、文字や数値と言った値だけでなく、オブジェクトも入れられます。
※実際にはオブジェクトそのものが入るわけではありませんが、それを考えるのは、もっと、ずっと後で良いです。


前回書いたスクリプト

function mySample1() {
 SpreadsheetApp.getActiveSheet().getRange(1, 1).setValue("Hello World")
}



A2セルにも文字を入れたい

これは、A1セルに、"Hello World"と入ります。
では、追加で、
A2セルに、"こんにちは"と入れるスクリプトを書き足しましょう。

function mySample1() {
  SpreadsheetApp.getActiveSheet().getRange(1, 1).setValue("Hello World")
  SpreadsheetApp.getActiveSheet().getRange(2, 1).setValue("こんにちは")
}

これで、
A1セルに、"Hello World"
A2セルに、"こんにちは"
と入ります。


もっと短く書けないのか

確かに、これで動きますが・・・長い・・・何でこんなに長いのか・・・
10個のセルに値を入れるとしたら・・・

コピペすれば別に長くても構わない。

確かにそうではありますが・・・
もっと複雑な処理を書こうとしたら・・・

毎行、SpreadsheetAppから書くのかってことで、さすがに何とかならないものか。

SpreadsheetApp.getActiveSheet()

ここまでは同じなのだから、省略できないのか・・・
そう、考えるのは普通の事です。

ここで変数が出てきます。


シートを変数に入れる

SpreadsheetApp.getActiveSheet()

これを変数に入れられれば、

変数.getRange(1, 1).setValue("Hello World")
変数.getRange(2, 1).setValue("こんにちは")


このように書けそうです。
これなら、だいぶ短くなり、読みやすくなります。

SpreadsheetApp.getActiveSheet()
これを変数に入れるには、

var sheet
sheet = SpreadsheetApp.getActiveSheet()

または
var sheet = SpreadsheetApp.getActiveSheet()

このように書きます。

var変数宣言になります。
sheet変数名です。

先のスクリプトでは、変数宣言した後に、変数にオブジェクトを入れています。
後のスクリプトでは、変数宣言と同時に、変数にオブジェクトを入れています。

これ以降は、
sheetと書けば、SpreadsheetApp.getActiveSheet()の事になります。

Google Apps Scriptでは、変数宣言は必須です。
変数に型がありません、何でも入れる事が出来ます。

VBAでは

varはVBAではDimに相当します。
VBAでは、オブジェクトの場合は、
Setステートメントを使いますが、Google Apps Scriptでは不要です。


変数を使って書き直すと

function mySample1() {
  var sheet = SpreadsheetApp.getActiveSheet()
  sheet.getRange(1, 1).setValue("Hello World")
  sheet.getRange(2, 1).setValue("こんにちは")
}

変数の宣言方法と使い方

上のスクリプトは、

function mySample1() {
  var app,sheet,range
  app = SpreadsheetApp
  sheet = app.getActiveSheet()
  range = sheet.getRange(1, 1)
  range.setValue("Hello World")
  range = sheet.getRange(2, 1)
  range.setValue("こんにちは")
}

このようにも書けます。

varでの変数宣言は、
var 変数1,変数2,変数3
このように、カンマで区切って、複数の変数を宣言できます。

何を変数に入れるかは自由です。
変数の使い方で、プログラムが全く違った書き方になります。


数値や文字を変数に入れる

ここまでは、オブジェクトを変数に入れる事に特化して書きましたが、
数値や文字を入れる場合も、全く同じです。

function test() {
  var i = 1
  i=i+1
Browser.msgBox(i)
}

これで、「2」と表示されます。


変数って何だ?の最後に

プログラミングの要点の一つが変数の使い方です。

変数の使い方にこれと言った決まりはありません。

そして、変数の使い方でプログラミングが大きく変わってきます。
どのような使い方をすれば良いかは、徐々に習得していきましょう。




同じテーマ「Google Apps Script入門」の記事

第2回.とにかく書いてみよう(スクリプト エディタ)
第3回.スクリプトを実行するには
第4回.セルに数字や文字を入れる
第5回.変数って何だ?
第6回.セルの値を使って計算する
第7回.同じ計算を行数分繰り返す
第8回.最終行を取得して繰り返す
第9回.コメントの書き方
第10回.条件で処理を変える(条件分岐,if)
第11回.条件で処理を変える(条件分岐,switch)
第12回.表範囲をまとめて消去する


新着記事NEW ・・・新着記事一覧を見る

AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ