Google Apps Script入門
セルの値を使って計算する

Google Apps Script(GAS)の入門解説です
最終更新日:2021-03-05

第6回.セルの値を使って計算する


セルの値を取得し、計算してから別のセルに結果を入れる。
これを、Google Apps Scriptではどのように書くかを解説します。



セルの値の取得と設定

セルに値を入れるには、
Rangeオブジェクトの、setValueメソッド
これを使いました。

セルの値を取得するには、
Rangeオブジェクトの、getValueメソッド
を使います。

以下の表で、
金額 = 単価 × 数量
を計算します。

Apps Script 画像

今回は、2行目のD2セルの計算のみをやってみましょう。


完成スクリプト、その1

function mySample2() {
  var sheet = SpreadsheetApp.getActiveSheet()
  sheet.getRange(2, 4).setValue(sheet.getRange(2, 2).getValue() * sheet.getRange(2, 3).getValue())
}

解説、その1

セルに値を入れるには、
var sheet = SpreadsheetApp.getActiveSheet()
sheet.getRange(1, 1).setValue(値)
これで入れられることを前回までにやりました。

金額 = 単価 × 数量
このスクリプトは、
sheet.getRange(1, 1).setValue(B2セルの値 * C2セルの値)
これで良い事は分かると思います。

セルの値さえ取得できれば良いですね。
セルの値を取得するのは、
Rangeオブジェクトの、getValueメソッド
になります。
B2セルなら、
getRange(2, 2).getValue()

sheet.getRange(1, 1).setValue(値)
この値の部分に、
sheet.getRange(2, 2).getValue() * sheet.getRange(2, 3).getValue()
これを入れて完成です。


完成スクリプト、その2

function mySample3() {
  var sheet = SpreadsheetApp.getActiveSheet()
  var tannka,suuryou
  tannka = sheet.getRange(2, 2).getValue()
  suuryou = sheet.getRange(2, 3).getValue()
  sheet.getRange(2, 4).setValue(tannka * suuryou) 
}

解説、その2

その1と同じ処理ですが、変数を使って計算しています。
sheet.getRange(2, 4).setValue(sheet.getRange(2, 2).getValue() * sheet.getRange(2, 3).getValue())
このスクリプト自体に問題はありませんが、
ぱっと見で、何をやっているのか分かりずらいスクリプトになっています。

tannka = sheet.getRange(2, 2).getValue()
suuryou = sheet.getRange(2, 3).getValue()
sheet.getRange(2, 4).setValue(tannka * suuryou)

これなら、誰が見ても、何をしているかは一目瞭然でしょう。
変数名はローマ字にしてみました。
 英語でも、日本語でも、わかり易いのが一番良いです。


算術演算子(四則演算子)

説明は要らない気もしますが、一応記載はしておきます。

足し算:+
引き算:-
掛け算:*
割り算:/


セルの値を使って計算するの最後に

セルの値の取得する。
セルに値を入れる

これらは、スクリプト内で最も多く記述されるメソッドになります。
しっかりとマスターしましょう。




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

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


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

還暦のVBA:VBAまでたどりつけるか… (2021-09-29)
VLOOKUPを使うことを基本としてシートを設計すべきか|エクセル雑感(2021-08-17)
コンピューターはブラックボックスで良い|エクセル雑感(2021-08-14)
小文字"abc"を大文字"ABC"に変換する方法|エクセル雑感(2021-08-13)
ADOでテキストデータを集計する|VBAサンプル集(2021-08-04)
VBA学習のお勧めコース|エクセル雑感(2021-08-01)
エクセル馬名ダービー|エクセル雑感(2021-07-21)
在庫を減らせ!毎日棚卸ししろ!|エクセル雑感(2021-07-05)
日付型と通貨型のValueとValue2について|エクセル雑感(2021-06-26)
DXってなんだ? ITと何が違うの?|エクセル雑感(2021-06-24)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.Excelショートカットキー一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.RangeとCellsの使い方|VBA入門
5.繰り返し処理(For Next)|VBA入門
6.マクロって何?VBAって何?|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
9.セルに文字を入れるとは(Range,Value)|VBA入門
10.並べ替え(Sort)|VBA入門




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


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



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