目次
Google SheetsのIF関数は、最も簡単に学べる関数の1つであり、これは事実ですが、非常に役立つ関数でもあります。
このチュートリアルでは、GoogleスプレッドシートのIF関数がどのように動作し、それを使用することでどのような利点が得られるかを詳しく見ていきます。
Google SheetsのIF関数とは?
IF関数を使うと、ある条件のもとである動作が行われ、その条件が満たされないと別の動作が行われるというデシジョンツリーを作ることができる。
このため、関数の条件は、"はい "と "いいえ "の2つの回答のみが可能な代替質問の形式でなければならない。
デシジョンツリーはこのような形になります。
つまり、IF関数では、質問をして、その答えに応じて2つの代替動作を示すことができます。 この質問と代替動作は、関数の3つの引数として知られています。
Google SheetsのIF関数構文
IF関数とその引数の構文は次のとおりです。
=IF(logical_expression, value_if_true, value_if_false)- 論理式 - (必須) TRUE か FALSE かをテストする値または論理式。
- value_if_true - (必須) テストが TRUE である場合に実行される操作。
- value_if_false - (オプション) テストが FALSE であった場合に実行される操作。
IF関数の引数をもう少し詳しく調べてみましょう。
最初の引数は論理的な質問を表し、Google Sheetsはこの質問に「はい」か「いいえ」、つまり「true」か「false」のどちらかで答えます。
そのためには、"=", ">", "=", "<=", ""などの記号(比較演算子)を使って論理式を書けばよい。 一緒にそんな問いかけをしてみよう。
IF関数の使用方法
例えば、あなたがチョコレートを複数の消費地で販売する会社で、多くの取引先と仕事をしているとします。
売上データをGoogle Sheetsで表示すると、このようになります。
例えば、海外からの売上と国内の売上を分けるために、売上ごとに国名を記述するフィールドを追加します。 データ量が多いので、この記述フィールドは入力ごとに自動的に作成する必要があります。
そこで、IF関数の出番です。 データテーブルに「国」列を追加してみましょう。「西」地域は現地の売上(Our Country)、それ以外は海外からの売上(Rest of the World)を表しています。
関数を正しく書き出すには?
F2にカーソルを置いてセルをアクティブにし、等号(=)を入力します。 Google Sheetsは、あなたが数式を入力しようとしていることをすぐに理解します。 そのため、「i」という文字を入力した直後に、同じ文字で始まる関数を選択するよう促されます。 そして、「IF」を選択する必要があります。
それ以降は、すべての操作にプロンプトが表示されるようになります。
IF関数の第1引数には、次のように入力します。 B2="西" 他のGoogle Sheetsの関数と同様、セルのアドレスを手入力する必要はなく、マウスクリックで十分です。 次に、カンマ(,)を入力し、第2引数を指定します。
第2引数は、条件を満たした場合にF2が返す値で、今回は "Our Country "というテキストになります。
そしてまた、カンマの後に第3引数の値を書きます。 F2は条件を満たさない場合、この値「Rest of the World」を返します。 括弧「)」を閉じて「Enter」を押して、数式入力を終えるのを忘れないでください。
数式全体はこのようになっているはずです。
=IF(B2="West", "Our Country", "Rest of the World")
すべてが正しければ、F2は "Our Country "というテキストを返します。
あとは、この関数をF列にコピーするだけです。
ヒント:1つの数式で列全体を処理する方法があります。 ARRAYFORMULA関数を使用すると、列の最初のセルにこの関数を使用すると、以下のすべてのセルに対して同じ条件でテストを行い、対応する結果を各行に同時に返せます。
=ARRAYFORMULA(IF(B2:B69="West", "Our Country", "Rest of the World"))
IF関数の他の操作方法について調べてみましょう。
IF関数とテキスト値
IF関数とテキストの使い方は、すでに上記の例で説明したとおりです。
注)引数としてテキストを用いる場合は、ダブルクォートで囲む必要があります。
IF関数と数値
本文と同じように引数に数字を使うことができます。
しかし、ここで非常に重要なのは、IF関数によって、条件を満たした上で特定の数値をセルに記入するだけでなく、計算することも可能になることです。
例えば、お客様に購入金額の合計に応じて様々な割引を提供するとします。 合計が200以上であれば、お客様は10%の割引を受けることができます。
そのためには、G列を使い、「割引」という名前をつける必要があります。 そして、G2にIF関数を入力すると、第2引数が割引を計算する数式で表されるようになります。
=IF(E2>200,E2*0.1,0)
IF 空欄/非空欄
セルが空かどうかで結果が変わる場合があります。 それを確認する方法は2つあります。
- ISBLANK関数を使用します。
例えば、次の数式はE列のセルが空かどうかをチェックし、空なら割引を適用せず、そうでなければ5%割引とする。
=if(isblank(e2)=true,0,0.05)である。
注)もし ゼロ長の文字列 を(何らかの数式で)返した場合、ISBLANK 関数は FALSE になります。
ここで、E2が空かどうかを確認する別の計算式を示します。
=if(isblank(e2)2false,0,0.05)である。
数式を逆にして、代わりにセルが空白にならないかどうかを確認することができます。
=if(isblank(e2)=false,0.05,0)とする。
=if(isblank(e2)true,0.05,0)である。
- 標準的な比較演算子は、二重引用符のペアで使用します。
注)本方式では ゼロ長さ文字列 (ダブルクォートで表示)を空セルとする。
=if(e2="",0,0.05)
- E2が空白かどうか確認する=if(e2"",0,0.05)
- E2が空でないことを確認する。ヒント.同様に、ダブルクォートを引数として使用すると、数式によって空のセルを返します。
=IF(E2>200,E2*0,"")
他の機能との組み合わせによるIF
すでに学んだように、テキスト、数値、数式はIF関数の引数として機能します。 しかし、他の関数もその役割を果たすことができます。 その仕組みを見てみましょう。
Google Sheets IF OR
チョコレートが売られている国を知る最初の方法は、B2に "West "が含まれているかどうかを確認することでしたね。
しかし、逆にロジックを構築することもできます。「Rest of World」に属する可能性のある地域をすべてリストアップし、次のような場合にチェックします。 どちらか一方でも がセルに表示されます。 第1引数のOR関数がそれを助けてくれます。
=OR(logical_expression1, [logical_expression2, ...])- 論理式1 - (必須) チェックする最初の論理値。
- 論理式2 - (オプション) チェックする次の論理値。
- といった具合に。
ご覧のように、チェックしたい論理式を必要な数だけ入力するだけで、そのうちの1つが真であれば検索してくれる関数です。
この知識を売上のある表に適用するには、海外の売上に属する地域をすべて記載すれば、他の売上は自動的にローカルになります。
=IF(OR(B2="East",B2="South"), "Rest of the World", "Our Country")
Google Sheets IF AND
AND関数も同じように簡単で、ただ一つ違うのは、リストアップされた論理式がすべて真であるかどうかをチェックする点です。
=AND(logical_expression1, [logical_expression2, ...])例えば、あなたが住んでいる町に絞って検索する必要があり、その町では現在ヘーゼルナッツのみを購入していることが分かっています。 そこで、地域-「西」、製品-「チョコレートヘーゼルナッツ」という2つの条件を考慮する必要があります。
=IF(AND(B2="West",C2="Chocolate Hazelnut")), "Our Country", "Rest of the World")
Google SheetsのネストされたIF式とIFS関数の比較
また、IF関数自体をより大きなIF関数の引数として使用することもできます。
例えば、顧客に対してより厳しい割引条件を設定したとしよう。 購入合計が200個以上なら10%割引、100個以上199個未満なら5%割引、100個未満なら割引は一切なしとする。
次の数式は、この関数がセル G2 でどのように表示されるかを示しています。
=IF(E2>200,E2*0.1,IF(E2>100,E2*0.05,0))
なお、第2引数として使用されるのは別のIF関数である。 このような場合、決定木は以下のようになる。
さらに楽しいことに、タスクを複雑にしてみましょう。 割引価格を提供するのは、ある地域、つまり「東部」だけだと想像してください。
これを正しく行うには、関数に論理式「AND」を追加します。 すると、式は次のようになります。
=IF(AND(B2="East",E2>200),E2*0.1,IF(AND(B2="East",E2>100),E2*0.05,0))
ご覧のように、割引の数は大きく減っていますが、その額はそのままです。
また、IFS関数のおかげで、上記のような簡単な書き方もあります。
=IFS(condition1, value1, [condition2, value2, ...])- 条件1 - (必須)は、テストしたい論理式です。
- 値1 - (必須)は、条件1が真の場合に返す値である。
- というように、条件とその値をリストアップして、それが真の場合に返すようにするだけです。
上記の数式をIFSで表示するとこんな感じです。
=IFS(AND(B2="East",E2>200),E2*0.1,AND(B2="East",E2>100),E2*0.05)
ヒント:真の条件がない場合、数式は#N/Aエラーを返します。 それを避けるために、数式をIFERRORで囲みます。
=IFERROR(IFS(AND(B2="East",E2>200),E2*0.1,AND(B2="East",E2>100),E2*0.05),0)
マルチIFの代替としてのSWITCH
ネストされたIFの代わりに、もう一つ検討したい関数があります:Google SheetsのSWITCHです。
この関数は、指定した式が複数のケースに対応するかどうかを調べ、対応する値を返します。
=SWITCH(式, case1, value1, [case2, value2, ...], [デフォルト])- 顔 は、任意のセル参照、セル範囲、あるいは実際の数式、あるいはケースと等しくしたい(あるいは基準に対してテストしたい)テキストです。 必須です。
- ケース1 は、式をチェックするための最初の基準です。 必須です。
- 値1 は、以下の場合に返すレコードです。 ケース1 の基準は、あなたの表現と同じです。 必要です。
- ケース2, 値2 チェックする項目と返す値の数だけ繰り返す。 任意
- デフォルト は完全に省略可能で、どのケースにも当てはまらない場合に特定のレコードを見るために使用する。 すべてのケースでマッチしない場合のエラーを避けるために、毎回使用することをお勧めする。
その例をいくつかご紹介します。
への セルをテキストでテストする は、式として範囲を使用します。
=ARRAYFORMULA(SWITCH(B2:B69, "West", "Our Country", "Rest of the World"))
この式では、SWITCHはB列のすべてのセルにどんなレコードがあるかをチェックし、もしそれが ウエスト という数式があります。 私たちの国 それ以外の場合は その他の地域 .ArrayFormulaを使用すると、列全体を一度に処理することができます。
への 計算をする のように、boolean 式を使用するのがよいでしょう。
=SWITCH(TRUE,$E2>200,$E2*0.1,AND($E2100),$E2*0.05,0)
ここでSWITCHがチェックするのは、式の結果が 真 または ファルス .そんな時は 真 (ばかり E2 は本当に大きい 200 に該当するケースがない場合,それに対応する結果が得られます。 真 (であることを意味します。 ファルス ) の場合、この式は単に0を返します。
注)SWITCHは全範囲を一度に計算する方法を知らないので、この場合はARRAYFORMULAを使用しない。
カウントに基づくIF文
よく聞かれる質問の一つに、あるレコードがカラムに含まれるか含まれないかによって、必要なものを返すIF式をどのように作成するかというものがあります。
例えば、リスト(A列)に顧客名が複数回出てくるかどうかをチェックし、対応する単語(はい/いいえ)をセルに入れる。
解決策は意外と簡単で、IFにCOUNTIF関数を導入することです。
=IF(COUNTIF($A$2:$A$20,$A2)>1, "yes", "no")
Google Sheets に IF 式を作らせる - IF Formula Builder アドオン
数式に含まれる余分な文字や適切な構文を管理するのが面倒な場合は、別の解決策を利用することもできます。
Google Sheets の IF Formula Builder アドオンは、IF 文を視覚的に作成します。 このツールは、構文、追加関数、および必要なすべての文字を処理します。
必要なのは
- 日付や時間など、特別な扱いをすることなく、いつもと同じように入力すれば、アドオンがデータ型を認識します。
- を選択し、必要な比較演算子をドロップダウン リストから選択します。
- 必要であれば、複数の論理式を一度に追加できます:IF OR, IF AND, ELSE IF, THEN IF
このように、論理式はそれぞれ独立した行になり、真偽の結果も同様です。 これにより、数式を混乱させる可能性が激減します。
入力が完了すると、ウィンドウ上部のプレビューエリアに使用する数式が表示されます。 その左側には、数式を表示させたいシートのセルを選択することができます。
準備ができたら、下部にある「数式の挿入」ボタンをクリックして、目的のセルに数式を貼り付けます。
IF Formula Builderのオンラインチュートリアルで、すべてのオプションの詳細をご覧ください。
IF関数は一見シンプルですが、Google Sheetsのデータ処理に多くの選択肢を与えてくれるものであることをご理解いただけたと思います。 しかし、もしまだ疑問があれば、下のコメント欄でお気軽にご質問ください。