初心者必見!Google Apps Scriptでsome関数を使いこなす方法

GASでsome関数を使ってみたいんだけど、どうやってやるんだろう?試してみたけど上手くいかなくて…
猫男
猫男
catman
catman
よし、catmanがGASでsome関数を使う方法を伝授しよう!

GASでのsome関数の使い方

GAS(Google Apps Script)において、some関数は配列内の要素が少なくとも一つ条件に合致すればtrueを返す便利な関数です。

この関数は、次のようなシンプルな方法で使えます。


 const numbers = [1, 3, 5, 4, 9];
 const hasEven = numbers.some(function(number) {
   return number % 2 === 0;
 });
 Logger.log(hasEven); // true

ここでは、配列内に偶数があるかをチェックしています。

GASでのsome関数の使用例

例えば、GASでスプレッドシートのデータを処理し、特定の条件に合致する行があるかを確認するときに使えます。

スプレッドシートのデータで使う方法

GASでのスプレッドシートからのデータ取得と条件チェックについて見てみましょう。


 function checkEmails() {
   const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
   const data = sheet.getDataRange().getValues();
   
   const containsGmailAccount = data.some(function(row) {
     return row[1].toLowerCase().includes('@gmail.com');
   });
   
   if (containsGmailAccount) {
     Logger.log('Gmailアカウントが見つかりました。');
   } else {
     Logger.log('Gmailアカウントはありません。');
   }
 }

GASでsome関数を使って、スプレッドシートにGmailアカウントが含まれているかを確認しています。

配列で条件をチェックする

配列の要素が特定の条件を満たしているかを確認するもう一つの例を挙げます。


 const fruits = ['apple', 'banana', 'grape'];
 const hasApple = fruits.some(function(fruit) {
   return fruit === 'apple';
 });
 Logger.log(hasApple); // true

この例で、配列内に ‘apple’ が含まれているかをチェックしています。

 

すごい!GASでsome関数を使うと、条件チェックが簡単になるんだね。これなら僕にも使えそう!
猫男
猫男

実際に試してみよう:練習問題

以下の配列の中に数値の20があるかどうかを確認するGASスクリプトを書いてください。


 const numbers = [10, 15, 8, 22, 30];
 
 function findTwenty() {
   // ここにsome関数を使ったコードを記述
   const hasTwenty = // 任意のコード;
   Logger.log(hasTwenty);
 }

 

解答と解説

解答は次の通りです。


 const numbers = [10, 15, 8, 22, 30];
 
 function findTwenty() {
   const hasTwenty = numbers.some(function(number) {
     return number === 20;
   });
   Logger.log(hasTwenty); // false
 }

ここでは、some関数を利用して、配列内に20が存在するかを確認しています。この場合、falseが返されます。

some関数は、コールバック関数内で指定した条件に合致するかを確認するメソッドで、合致する要素があればtrueを返し、無ければfalseを返します。

なるほど!これで僕も条件付きでデータをチェックできるぞ。catman、ありがとう!
猫男
猫男
catman
catman
役に立てて良かった!GASを使ってどんどん自動化を進めよう!