スプレッドシートを活用すると必ずと言って良いほど関数は活用します。sumなどはよく活用するので覚えている方も多いと思いますが、たまにしか活用しない関数などは忘れてしまって「どう使うんだっけな?」と悩んでしまう方も多いのではないでしょうか?今回はif関数の基礎から応用編まで幅広く紹介しますので、ぜひマスターしてみてください!
マイナスの値のところだけ「0」にしたいんだけど、なんの関数使えばよいか忘れた。。
それなら「if関数」を活用すれば簡単にできるよ!
おさらい:Googleスプレッドシートとは?

スプレッドシートについてはもう知っているから大丈夫という方は読み飛ばして大丈夫です。スプレッドシートとはGoogleが提供している無料のクラウド型の表作成・表計算ツールのことです。Excelと異なりソフトを購入してインストールしなくてもGoogleアカウントを持っていれば誰でも無料で活用することが可能です。
【初心者向け・入門編】やさしいスプレッドシートのはじめ方!Excelとの違いから活用方法まで
スプレッドシートでif関数を使いこなそう!
そもそもif関数とはどのような関数?
ifは英語で「もし〜なら」という「タラレバ」の意味の関数です。単純な計算以外にもスプレッドシートを活用していると色々な要望が出てきます。例えば「計算がマイナスになった場合は0としたい」「日付が本日以降なら1としたい」などメンバーや上司から要望があることも少なくはありません。
ifの基礎を知っておくと、色々なパターンで応用を効かせることができますので、まずは関数の仕組みから見てみましょう。
if関数は⑴条件と⑵条件に合致した時、⑶条件に合致しなかった時の3つの要素で構成されている!
if関数のヘルプを見てみると、以下のような数式で表示されますが、最初だとよく意味がわからないという方も多いと思います。
IF(論理式, TRUE値, FALSE値)
- 論理式=条件のこと。「もし〜だったら」の部分。
- TRUE値=条件に合致した時のこと。例)もし”りんご”だったら”100円”、違う場合は”50円”と表示。
- FALSE値=条件に合致しなかった時のこと。例)もし”りんご”だったら”100円”、違う場合は”50円”と表示。
論理式というのは「もし〜だったら」の部分を意味し、多くは「〜より大きかったら・小さかったら、空白だったら」などという条件を活用することが多いです。
TRUE値というのはTRUE (真)である場合という意味で、条件に合致していた場合に”何を表示させるか?”を設定しておく箇所です。反対にFALSE値というのはFALSE (偽)であるという意味で、条件に合致していない場合に何を表示させるか?を設定する箇所です。
スプレッドシートの活用事例〜基礎編5パターン〜
最初はよくあるif関数の活用パターン6選を紹介します。その後に応用編も5パターン紹介しますので参考にしてみてください。
1.マイナスの値の箇所だけ「0」にしたい!

例えば上記のような表のように収支の箇所が「マイナス」となっている箇所だけ「0」と表記を直したいケースです。その場合の数式は以下のようになります。
C2の箇所に以下を入力
=IF(B2<0,0,B2)
翻訳:B2<0(もしB2の値が0より低い(マイナス)の場合)
翻訳:0(条件に合致したら「0」と表記をする)
翻訳:1(条件に合致しなかったら「B2」をそのまま表示する)
2.比較して大きい方の値を表示させたい時!

例えば上記のように「売上」と「支出」の値を比較して、大きい方の値を入力したいとします。その場合は以下のように数式を入力します。
D2の箇所に以下を入力
=IF(B2>C2,B2,C2)
翻訳:B2>C2(もしB2の値がC2より大きい場合)
翻訳:B2(条件に合致したら「B2」を表記する)
翻訳:C2(条件に合致しなかったら「C2」を表示する)
3.日付が本日以降だったら「1」とフラグをつけたい!

仮に本日を「9/17」とした場合に、9/17以降の日付は「1」、それ以外に「0」をつけたい場合を考えます。その際は下記のように数式を入力します。
B2の箇所に以下を入力
=IF(A2>=TODAY(),1,0)
翻訳:A2>=TODAY()(もしA2の日付が本日以降の場合)
翻訳:1(条件に合致したら「1」を表記する)
翻訳:0(条件に合致しなかったら「0」を表示する)
4.点数が平均点以下の場合は「1」とつけたい場合

次に点数が平均点以下だった場合に「1」とつけたい場合を考えます。ここでは平均点が一番下の行に記載がありますので、各点数と平均点とを比較します。そのような場合は下記のように数式を入力します。
C2の箇所に以下を入力
=IF(B2<=$B$7,1,0)
翻訳:B2<=$B$7(もしB2の点数が平均より下の場合)
翻訳:1(条件に合致したら「1」を表記する)
翻訳:0(条件に合致しなかったら「0」を表示する)
ちなみにB7の表記が$B$7となっており少しびっくりした方も多いのではないでしょうか?これは絶対参照という記号を意味しており、windowsやmacのPCで「F4」のボタンを「B7」と記載した後に1回押すとこのマークになります。
C2に数式を入力した後に、C6まで数式をコピーする際に、平均点がずれてしまうことがあります。それはコピーした際に1つずつ下に数式の値もずれてしまうためです。このズレを防止するために、絶対参照を活用すると大変便利です。
5.もしイコールだったら「1」をつけたい

もし上記のように「売上」と「支出」がイコールだったら「1」をつけたいという例を考えます。その場合は下記のような数式を入力します。シンプルなので一般的な活用ですね。
D2の箇所に以下を入力
=IF(B2=C2,1,0)
翻訳:B2=C2(もしB2とC2がイコールの場合)
翻訳:1(条件に合致したら「1」を表記する)
翻訳:0(条件に合致しなかったら「0」を表示する)
スプレッドシートの活用事例〜応用編5パターン〜
後半は応用編を紹介していきます。
6.複数条件でifを活用したい時(アンド条件、オア条件)
if関数で「もし〜かつ〜の時」や「もし〜もしくは〜の時」などの条件で活用したい場合がありますよね。そんな場合はAND関数やOR関数をif関数の中で活用することができます!
仮に「売上が50以上、かつ、イコールフラグが「1」だった場合」の条件を考えてみます。

上記のような表を作成する場合は下記のような数式を入力します。
E2の箇所に以下を入力
=IF(AND(B2>=50,D2=1),1,0)
翻訳:AND(B2>=50,D2=1)
(もしB2が50以上、かつD2が「1」の場合)翻訳:1(条件に合致したら「1」を表記する)
翻訳:0(条件に合致しなかったら「0」を表示する)
AND関数もシンプルな関数なので、覚えておきましょう。
AND(論理式1, [論理式2, …])
全部「真」なら「真」、異なれば「偽」
同じようにAND関数の代わりにOR関数も活用することができます。
OR(論理式1, [論理式2, …])
どれかが「真」なら「真」、全て「偽」なら「偽」
7.数式をコピペしなくてもよくなる「arrayformula関数」はめちゃくちゃ便利!
スプレッドシートの場合は、共同編集やAPIなどの活用によってどんどんデータ量が増えていきます。せっかく関数を入れていても新しくデータが追加される度に関数をコピペするのは大変だと思います。そのような時に活用できるのが「arrayformula関数」です。

=ARRAYFORMULA(IF(B2:B>C2:C,B2:B,C2:C))
ポイントは単一セルの指定「B2」が
列の指定「B2:B」と変わっていることです。列指定をすることで下まで数式が自動で反映されます。
8.iferror関数は覚えておいた方が絶対良い!

割合を出す様な数式の場合で「0」が入っている箇所だとD5のように「#DIV/0!」のようなエラーが出てしまうことが多いです。エラーが出ること自体は自然なのですが、このエラーが入っているせいで関数が使いづらかったり、見づらいケースが多くなります。
そのような時に活用できるものがiferror関数です。エラーとなった場合は「0」や「空白」にするなどの指定が可能です。
IFERROR(値, [エラー値])
エラーとなった場合に表示するものを指定できます。
9.条件付き書式で自動で色をつけよう!

上記のように「0以下」の場合に色をつけたい場合などがありますよね。その際に、1つ1つ選んで色をつけているとかなり大変です。そのような場合は「表示形式」>「条件付き書式」を選ぶことで自動で色つけが可能です。

「条件付き書式」を選択すると「適応する範囲」と「色をつけるための書式ルール」を指定することができます。今回の場合は「0以下」の場合で色を付けたかったので下記のように指定をしています。適応した範囲であれば、値が自動で変わっても対応してくれるのでかなり便利な機能の1つです。

10.特定のテキストが入っていたら「1」とフラグをつけたい

上記のように「りんご」というテキストが入っていた場合に「1」をつけたい場合はcountif関数を活用することで対応することができます。
COUNTIF(範囲, 条件)
条件に合致した数を数えてくれる
今回の場合はB1のセルに下記のような関数を入れることで「1」をつけることができます。
=COUNTIF(A2,”*りんご*”)
「*」はワイルドマークで前後は”無視”するという意味
スプレッドシート関連の記事一覧
まとめ
いかがでしたでしょうか?今回はGoogleのスプレッドシートでif関数の活用方法について紹介しました。多くの事例を紹介しましたので、少し混乱したかもしれませんが、応用編まで活用できると仕事にもかなり役立ってくると思いますのでぜひ参考にしてみてください。
[DISPLAY_ULTIMATE_SOCIAL_ICONS]