earthpg:GAS専門のプログラミングスクール

プログラミング初心者でも安心!GASで絶対値を簡単に取得する方法

GASでどうやって絶対値を取得するんだろう?スプレッドシートのデータを整える時に使いたいんだけど…
猫男
猫男
catman
catman
心配いらないさ。catmanがGASでの絶対値取得方法を教えてやろう!簡単なコードで実現できるんだ。

GASで絶対値を求める基本

まずは、Math.abs()メソッドを使う。このメソッドはJavaScriptの基本メソッドで、GASでも無理なく使えるんだ。

絶対値を取得するスクリプトの基本形

 function getAbsoluteValue(number) {
 return Math.abs(number);
 }

 const result = getAbsoluteValue(-10);
 Logger.log(result); // 10 

Math.abs()メソッドは、与えられた数値の絶対値を返す関数だ。

GASでスプレッドシートのデータに絶対値を適用

スプレッドシートのデータにもGASを使って絶対値を適用することができるんだ。

スプレッドシートからデータを取得し絶対値を適用する

 function processSpreadsheetData() {
 var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
 var range = sheet.getRange('A1:A10');
 var values = range.getValues();

 for (var i = 0; i < values.length; i++) {
 values[i][0] = Math.abs(values[i][0]);
 }

 range.setValues(values);
 } 

✅ このスクリプトは、スプレッドシート内のA1からA10のセルに書かれた数値を絶対値に変換するんだ。

なるほど!スプレッドシートの値も一括で更新できるんですね!
猫男
猫男

GASの絶対値適用のポイント

  • Math.abs()で簡単に絶対値を取得できる
  • スプレッドシートの範囲指定とgetValues()setValues()を使いこなそう
  • ループを使って範囲内のデータに一括で処理を適用できる
catman
catman
絶対値を使うことでデータがさらに正確で読みやすくなるはずさ。このテクニックを存分に活用してプログラムをパワーアップしよう。

練習問題

試しに、GASを使って別の数値範囲に絶対値を適用するスクリプトを書いてみよう。例えば、B1からB10のセルに含まれる数値を絶対値にするには、どのようにコードを書き換える必要があるか考えてみてください。

解答・解説

 function updateSecondColumn() {
 var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
 var range = sheet.getRange('B1:B10');
 var values = range.getValues();

 for (var i = 0; i < values.length; i++) {
 values[i][0] = Math.abs(values[i][0]);
 }

 range.setValues(values);
 }
 

✅ この解答では、取得範囲をに変更し、同様にMath.abs()メソッドを使用している。このコードで、B列の特定範囲にある値を絶対値に変更できる。