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

Google Apps Script(GAS)の入門解説です
最終更新日:2016-10-28

第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サンプル集(10月12日)
VBAでエラー行番号を取得できるErl関数|VBA技術解説(10月12日)
手動計算時の注意点と再計算方法|ExcelマクロVBA技術解説(10月9日)
引数の数を可変にできるパラメーター配列(ParamArray)|VBA入門(10月7日)
VBEの使い方:デバッグ|ExcelマクロVBA入門(10月6日)
VBAにおける配列やコレクションの起点について|VBA技術解説(10月5日)
VBEの使い方:オブジェクト ブラウザー|VBA入門(10月5日)
VBEの使い方:ウォッチ ウィンドウ|VBA入門(10月4日)
VBEの使い方:ローカル ウィンドウ|VBA入門(10月3日)
VBEの使い方:イミディエイト ウィンドウ|VBA入門(10月2日)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.繰り返し処理(For Next)|ExcelマクロVBA入門
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.ひらがな⇔カタカナの変換|エクセル基本操作
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.セルに文字を入れるとは(Range,Value)|VBA入門



  • >
  • >
  • >
  • セルの値を使って計算する

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


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




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