【初心者向け】Google Apps Script(GAS)で累乗計算をマスターする方法

GASで累乗の計算をしたいんだけど、どうやればいいのかな?僕、数学苦手で…
猫男
猫男
catman
catman
よし、catmanが「GASで累乗計算」について解説しよう。まずは基本から押さえることだ。

GASで累乗計算を行う基本

GAS(Google Apps Script)では、JavaScriptと同様に累乗計算ができるんだ。

Math.pow()を使った累乗計算

累乗計算を行うには、Math.pow()を使うのが簡単だ。

function calculatePower(base, exponent) {
  return Math.pow(base, exponent);
}
const result = calculatePower(2, 3);
Logger.log(result); // 8

Math.pow()は2つの引数を受け取る。baseが底、exponentが指数であり、その結果を返すぞ。

例えば、

だったら、2がbaseで、3がexponentだ。

ES6のべき乗演算子を使う

ES6からは、べき乗演算子(**)を使った累乗計算も可能になった。

function calculatePower(base, exponent) {
  return base ** exponent;
}
const result = calculatePower(3, 4);
Logger.log(result); // 81

べき乗演算子は計算処理を簡潔に書けるのが特徴だ。

Math.pow()の使い方も分かった!べき乗演算子の方がすっきりしてて見やすいかも…
猫男
猫男
catman
catman
そうさ。使いやすいものを選ぶといい。次はGASで累乗計算を応用する方法だ。

GASを使って累乗計算を応用する

それでは実際にスプレッドシートで累乗計算していくぞ。

スプレッドシートでの利用例

GASを利用すれば、スプレッドシートのデータを使って計算を自動化できるんだ。

function calculateSpreadsheetPowers() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const values = sheet.getDataRange().getValues();

  for (let i = 1; i < values.length; i++) {
    const base = values[i][0];
    const exponent = values[i][1];
    const result = Math.pow(base, exponent);
    sheet.getRange(i + 1, 3).setValue(result);
  }
}

このスクリプトは、スプレッドシートから底と指数を読み取り、結果を記入する処理を行う。

SpreadsheetApp.getActiveSpreadsheet()はスプレッドシートを取得し、getDataRange()でそのデータ範囲を取得、getValues()でシート内のデータを取得する。

なるほど、スプレッドシートとも連携できるのか!実用的だね!
猫男
猫男

練習問題

GASを使って、0から指定した数までのそれぞれの数を自乗してその積を求めるスクリプトを書いてみよう。

解答・解説

function multiplySquares(n) {
  let product = 1;
  for (let i = 0; i <= n; i++) {
    product *= i ** 2;
  }
  Logger.log(product);
}
multiplySquares(3);

このスクリプトでは、指定した数までの各数を2乗し、その結果をすべて掛け合わせて積を求めている。

multiplySquaresは引数として最大の数を受け取り、ループを通じてそれぞれの数の2乗を計算し、結果を掛けていく処理を行う。