【GAS第3回】特定のセルから身長と体重を取得→BMI計算→結果をセルに戻す

【GAS第3回】特定のセルから身長と体重を取得→BMI計算→結果をセルに戻す

GASのプログラミングメモ第3回です。

トピックを何回かに分けて記載していきます。また、この記事はプログラミングメモですので、どんどん追記していきます。

ちなみに、プログラミングメモの書き方のコツはこちら。
>> 【PHP】PHPプログラミングメモ/プログラミングメモのコツ

関連記事

>> 【GAS第1回】Hello, World!の出力
>> 【GAS第2回】特定のセルから値を取得→計算→結果をセルに戻す
>> 【GAS第3回】特定のセルから身長と体重を取得→BMI計算→結果をセルに戻す


やりたい事

作業前の状態


作業後の状態


紐づいているスプレッドシート(以下SS)からシート名を取得

  • function : calcBMIとする
  • SSの取得 :紐づいている場合は本来は不要だが、コードに汎用性を持たせるため、SSのIDを取得して「openByID」メソッドを利用する
function calcBMI() {
// SSとシート名を取得
const ss = SpreadsheetApp.openById("任意のID");
const sheetGAS = ss.getSheetByName("GAS");
}

処理1 身長と体重を取得

function calcBMI() {
// SSとシート名を取得
const ss = SpreadsheetApp.openById("任意のID");
const sheetGAS = ss.getSheetByName("GAS");

// 処理1 身長と体重を取得する
// A5セルから身長を取得
let numHeight = sheetGAS.getRange(5,1).getValue();

// B5セルから体重を取得
let numWeight = sheetGAS.getRange(5,2).getValue();

// 確認する
 console.log(numHeight, numWeight);
}

実行ログ

17:21:31 お知らせ 実行開始
17:21:31 情報 1.68 65
17:21:32 お知らせ 実行完了

処理2 BMIを計算する

function calcBMI() {
// SSとシート名を取得
const ss = SpreadsheetApp.openById("任意のID");
const sheetGAS = ss.getSheetByName("GAS");

// 処理1 身長と体重を取得する
// A5セルから身長を取得
let numHeight = sheetGAS.getRange(5,1).getValue();

// B5セルから体重を取得
let numWeight = sheetGAS.getRange(5,2).getValue();
// let numWeight = Number(numWeight.slice(0,-2));

// 確認する
console.log(numHeight, numWeight);
}

// 処理2 BMIを計算する
let numBmi = (numWeight / (numHeight * numHeight));
console.log(numBmi.toFixed(8));

実行ログ

17:21:31 お知らせ 実行開始
17:21:31 情報 1.68 65
17:21:31 情報 23.03004535
17:21:32 お知らせ 実行完了

処理3 BMIの計算結果をセルに格納

function calcBMI() {
// SSとシート名を取得
const ss = SpreadsheetApp.openById("任意のID");
const sheetGAS = ss.getSheetByName("GAS");

// 処理1 身長と体重を取得する
// A5セルから身長を取得
let numHeight = sheetGAS.getRange(5,1).getValue();

// B5セルから体重を取得
let numWeight = sheetGAS.getRange(5,2).getValue();
// let numWeight = Number(strWeight.slice(0,-2));

// 確認する
console.log(numHeight, numWeight);

// 処理2 BMIを計算する
let numBmi = (numWeight / (numHeight * numHeight));
console.log(numBmi.toFixed(8));

// 処理3 結果を→C5に格納
sheetGAS.getRange(5,3).setValue(numBmi);

}

作業後の状態

以上でBMIの計算結果をセルにセットすることができました。
次回はIF文について記載していく予定です。