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

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

第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回.セルに数字や文字を入れる
・新しいfunctionを追加 ・インデントについて ・書く練習 ・実行して確認 ・コードの解説 ・オブジェクトについて ・メソッドについて ・ステートメントの末尾について ・スクリプトを読めるようになりましょう
第5回.変数って何だ?
・変数とは ・前回書いたスクリプト ・A2セルにも文字を入れたい ・もっと短く書けないのか ・変数を使って書き直すと ・変数の宣言方法と使い方 ・数値や文字を変数に入れる ・変数って何だ?の最後に
第6回.セルの値を使って計算する
第7回.同じ計算を行数分繰り返す
・同じ計算を行数分繰り返すとは ・前回のスクリプト ・完成スクリプト ・スクリプトの解説 ・forの詳細 ・ブロック文 ・同じ計算を行数分繰り返すの最後に
第8回.最終行を取得して繰り返す
・前回の復習 ・完成スクリプト ・スクリプトの解説 ・指定列の最終行 ・最終行を取得して繰り返すの最後に
第9回.コメントの書き方
・コメントアウトの書き方 ・コメントの必要性 ・コメントの書き方
第10回.条件で処理を変える(条件分岐,if)
・条件分岐(if)の例題 ・完成コード ・if...else文の説明 ・比較演算子 ・論理演算子 ・ビット演算子 ・条件分岐(if)の最後に
第11回.条件で処理を変える(条件分岐,switch)
・条件分岐(switch)の例題 ・完成コード ・switch文の説明 ・条件分岐(switch)の最後に
第12回.表範囲をまとめて消去する
・セルの値の消去 ・データ部分だけを消去する例題 ・完成スクリプト ・スクリプトの解説 ・VBAのCurrentRegionについて ・表範囲をまとめて消去の最後に
第13回.セルに書式を設定する
・書式を設定する例題 ・罫線 ・塗りつぶし ・フォント サイズ ・太字 ・CSSの色設定 ・完成スクリプト ・設定されている書式の取得 ・セルに書式を設定の最後に


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

テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)
VBAでクリップボードへ文字列を送信・取得する3つの方法|VBA技術解説(2023-12-07)
難しい数式とは何か?|エクセル雑感(2023-12-07)
スピらない スピル数式 スピらせる|エクセル雑感(2023-12-06)
イータ縮小ラムダ(eta reduced lambda)|エクセル入門(2023-11-20)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.並べ替え(Sort)|VBA入門
8.条件分岐(IF)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門




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


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



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