こんにちは!今回は、Google Apps Script(GAS)を使って、スプレッドシートのデータを条件に応じて処理する方法をご紹介します。特に、プログラミング初心者の方でもわかりやすいように、実際の例を交えて解説しますので、ぜひ最後までご覧ください。
IF文の基本構文と使い方
まずは、IF文の基本的な構文から見ていきましょう。
基本構文
IF文は、「もし〇〇なら、□□をする」という条件分岐を実現するための構文です。基本の書き方は以下の通りです。
if (条件式) {
// 条件式がtrueの場合の処理
}
例えば、セルの値が10より大きい場合に「合格」と表示する処理は、以下のように書けます。
if (sheet.getRange("").getValue() > 10) {
sheet.getRange("B1").setValue("合格");
}
else文を使った条件分岐
条件式がfalseの場合に別の処理を行いたい場合は、else文を使います。
if (sheet.getRange("").getValue() > 10) {
sheet.getRange("B1").setValue("合格");
} else {
sheet.getRange("B1").setValue("不合格");
}
else if文で複数の条件を判定
複数の条件を順番に判定したい場合は、else if文を使います。
if (sheet.getRange("").getValue() > 15) {
sheet.getRange("B1").setValue("優秀");
} else if (sheet.getRange("").getValue() > 10) {
sheet.getRange("B1").setValue("合格");
} else {
sheet.getRange("B1").setValue("不合格");
}
実際の活用例タスク管理シートの自動判定
次に、実際の業務で役立つ例を見てみましょう。例えば、タスク管理シートで「完了」ステータスのタスクを自動で判定するスクリプトを作成します。
function checkTaskStatus() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("タスク一覧");
var values = sheet.getRange(2, 1, sheet.getLastRow() - 1, 1).getValues();
for (var i = 0; i < values.length; i++) {
if (values !== "完了") {
Logger.log("行" + (i + 2) + "は未完了です");
}
}
}
このスクリプトでは、タスク一覧シートの1列目(A列)をチェックし、「完了」と記載されていない行をログに出力します。これにより、未完了のタスクを簡単に把握できます。
よくある質問や疑問
Q1: セルが空白かどうかを判定するにはどうすればよいですか?
セルが空白かどうかを判定するには、以下のように書きます。
if (sheet.getRange("").getValue() === "") {
Logger.log("セルは空白です");
}
また、空白だけでなく、半角スペースや全角スペースも含めて判定したい場合は、trim()メソッドを使って空白を除去してから判定することをおすすめします。
if (sheet.getRange("").getValue().trim() === "") {
Logger.log("セルは空白または空白文字のみです");
}
Q2: 複数の条件を組み合わせて判定するにはどうすればよいですか?
複数の条件を組み合わせて判定するには、論理演算子(&&: AND、||: OR)を使います。
if (sheet.getRange("").getValue() > 10 && sheet.getRange("B1").getValue() === "完了") {
Logger.log("が10より大きく、B1が完了です");
}
このように、複数の条件を組み合わせることで、より細かい判定が可能になります。
Q3: 条件に一致しない場合に何も処理をしないようにするにはどうすればよいですか?
条件に一致しない場合に何も処理をしないようにするには、else文を省略するか、else文内に何も記述しないようにします。
if (sheet.getRange("").getValue() > 10) {
Logger.log("が10より大きいです");
}
// 条件に一致しない場合は何も処理しません
また、else文を使って何も処理しない場合は、以下のように書きます。
if (sheet.getRange("").getValue() > 10) {
Logger.log("が10より大きいです");
} else {
// 何もしない
}
今すぐ解決したい!どうしたらいい?
いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良...もうイライラしない!」
あなたはこんな経験はありませんか?
✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦
平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。
LINEでメッセージを送れば即時解決!
すでに多くの方が私の公式LINEからお悩みを解決しています。
最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。
誰でも無料で使えますので、安心して使えます。
問題は先のばしにするほど深刻化します。
小さなエラーがデータ消失や重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。
あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。
ぜひ、あなたの悩みを私に解決させてください。
まとめ
今回は、Google Apps Script(GAS)を使ってスプレッドシートのデータを条件に応じて処理する方法をご紹介しました。IF文を使うことで、データの自動判定や処理の分岐が可能になり、業務の効率化が図れます。
プログラミング初心者の方でも、実際に手を動かしながら学ぶことで、理解が深まります。ぜひ、今回ご紹介した内容を参考に、GASを使った自動化に挑戦してみてください。
他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。
コメント