No3_IF関数関連|「もし〇〇なら」ができる関数たち

こんばんわ。
急激に寒くなって、体調がよろしくないです。書き出した関数の説明も早くも第3回ですね。ちなみに並行して実際に私が営業管理で使っているシートをほぼ完コピできるコンテンツも準備しています。
※こっちのほうが需要あるかな。
今日も頑張っていきましょう。

0.IF関数って

IFって英語のIFですよね。「もし〇〇だったら〜〜をする」という条件を指定できる関数がIF関数です。IF関数は数ある関数の中でも最も重要な関数なので、絶対に覚えましょう。世の中はだいたいIF関数でできていますといっても過言ではない。※個人的見解です。

ではいつもどおり「=IF」とセルに打ち込んでください。

スクリーンショット 2021-10-23 0.01.54

いっぱい出てきましたね。
でも今回も覚えるのは3つだけです。あとはググりましょう。
ここでは絶対に覚えたほうがいい汎用的かつ重要なもののみを説明します。

1.IF関数

最初は普通のIF関数です。
超簡単ですが、絶対に読み飛ばさないこと。小ネタ含めて書きます。

■書き方
IF(論理式, TRUE値, FALSE値)

■説明(スプレッドシートの説明欄より引用)

IF(A2 = "foo", "A2 は山である", "A2 は山ではない")
概要
論理式が TRUE の場合はある値を返し、FALSE の場合は別の値を返します。
論理式
論理値(TRUE か FALSE)を表す式を含む式またはセルの参照です。
TRUE値
[論理式] が TRUE の場合に返される値です。
FALSE値
[論理式] が FALSE の場合に返される値です。

まずここにGoogleさんが書いてくれる説明文を転記したのですが、関数初心者絶対に簡単な用語は覚えましょう。超簡単だし、覚えると自分でググれるようになるから。

■論理式
→なにかの値を比べる式、A=B、A≠B、A>Bみたいなやつ
■TRUE
→「正しい」という意味。論理式の結果が正しいときのことを指します
■FALSE
→「間違っている」という意味。論理式の結果が間違っているときのことを指します

A列に書かれたものが「りんご」か「りんご以外」なのかを判定する数式を作りましょう。D2セルに以下の数式を書いてくださいD2セルに以下の数式を書いてください。

=IF(A2="りんご","りんごです","りんごじゃない!")

スクリーンショット 2021-10-23 0.20.32

ちゃんと「りんご」か「りんご以外」か判定されましたね。
※ローランドさんみたい。俺か俺以外か。りんごかりんご以外か。

じゃあ次は
りんご以外なら「りんごじゃない!」
りんごなら「これはりんごです」
と返してみましょう。ただし今回はりんご以外という条件が論理式のtrueの場合に指定してみましょう。
※このあたりから知っている人でもできなくなります。

スクリーンショット 2021-10-23 0.27.58

できましたでしょうか。
論理式をこのように書きました。

=IF(A2<>"りんご","りんごじゃない!","これはりんごです")

この「<>」こいつは何なんだと。
説明しよう。
「<>」これはイコール「=」の反対で、「一致しない」という条件を指します。なので上に書いた数式はA2が「りんご」と一致しない時にTRUEの値を返すという意味になります。

じゃあ次は個数が3以上かそれ以下かを比べましょう。

スクリーンショット 2021-10-23 0.38.29

そろそろ詰まった人いそうですね。
考えるポイントは2つです。覚えましょう。
①数字と文字
②「以上」「以下」「より大きい」「より小さい」の書き方

①数字と文字

=IF(C2>="3","3個以上","3個未満")

と書いた人いるのではないでしょうか。
前の記事でも書きましたが、関数の世界にはデータ型という考え方があります。同じ「3」でも数字の「3」と文字としての「3」があるんですね。
C2>="3"と書いた方は文字としての「3」を書いています。
「""」ダブルクオーテーションでくくったものはすべて「文字」となります。数式の中ではすべての文字は「""」で囲うことが原則ですが、今回私達はC2セルの数字と「3」という数字を比べたいので、数字として扱ってほしいのです。
なので、今回は「""」で囲わずに、普通に「3」と書きます。
これで「3」は文字ではなくて数字として扱ってもらうことができます。

②「以上」「以下」「より大きい」「より小さい」の書き方(不等号)
これはただの知識問題なので、書いておきます。

以上→「>=」
以下→「<=」
より大きい→「>」
より小さい→「<」
一致しない→「<>」
一致する→「=」

これは知っていればできますが、知らないとできない知識的な話です。暗記しましょう!覚える方法とかではなくて暗記です。

次は「りんごかどうか」の判断と「山形かどうか」の判断を組み合わせてできるようにしましょう。以下の3つのパターンが分岐できるようにしましょう。
ーりんご
 └山形→①
 └山形以外→②
ーりんごじゃない→③

スクリーンショット 2021-10-23 0.56.29

なんか数式っぽくなってまいりました。
ちゃんと4行目だけ山形のりんごが反映されていますね。
数式の説明をしましょう。

=IF(A2="りんご",IF(B2="山形","山形のりんご","山形じゃないりんご"),"りんごじゃない")

まずりんごかりんご以外かを確認するIF関数を作ります。

=IF(A2="りんご", [ここに次の関数が入るよ] ,"りんごじゃない")

それで、りんごである(A2="りんご"がTRUE)ときの値にさらに「山形か山形以外か」を比べるIF関数を入れるのです。

IF(B2="山形","山形のりんご","山形じゃないりんご")

この2つを組み合わせて完成です。「山形のりんごかそれ以外か」ローランド強化版。

ちょっと疲れました?
IF関数は初心者が絶対にぶつかる壁です。乗り越えてください。スパルタです。
IF関数は本当に書かない日はないくら位ですが、複雑な条件の数式を書くようになると、毎回何回も何回もIF(IF(IF()))ってIF文マトリョーショカを生成することになります。だるいので次の関数を勉強しましょう。

2.IFS関数

■書き方
IFS(条件1, 値1, [条件2, …], [値2, …])

■説明(スプレッドシートの説明欄より引用)

IFS(A1>90, "A", A1>80, "B")
概要
複数の条件を検証し、最初の TRUE 条件に対応する値を返します。
条件1
検証される 1 つ目の条件です。ブール値、数値、配列、これらのいずれかへの参照を指定します。
値1
[条件1] が TRUE の場合に返される値です。
条件2… - [任意] 反復可能
前の条件が FALSE の場合に検証される追加の条件です。
値2… - [任意] 反復可能
対応する条件が TRUE の場合に返される追加の値です。

IFSは読んで字のごとく、IFの条件を複数用意できる数式です。汎用性がパないです。覚えましょう。
簡単に言うとIF関数では「りんごかそれ以外か」という究極の二択しか選べないのですが、IFS関数ではりんごの場合はAAA、みかんの場合はBBB、カルダモンの場合はCCCみたいにいっぱい条件を作れるので、楽です。
では行きましょう。

A列が「りんご」なら「赤い」
A列が「みかん」なら「黄色」
A列が「もも」なら「ピンク」
と返すようにします。

スクリーンショット 2021-10-23 1.09.36

こんな感じですね。
ここまではできると思います。
ですが、ここで一つのコツを覚えてください。
数式読みづらいと思うので、改行をして見ましょう。「⌘+Enter」で改行されます。

スクリーンショット 2021-10-23 1.12.30

見やすくなりますよね。
関数は複雑なことをしだすと10行20行普通に書きます。
そうすると横長だと全然読めないので、きれいに改行をするようにしましょう。プログラミングの世界では改行にもルールはありますが、非エンジニアのワタシたちは我流で全然いいと思います。※改行やインデント(スペース)のいいやり方とかは今後記事にします。お楽しみに。

次は「予期しないことが起きたら」を想定してみましょう。

スクリーンショット 2021-10-23 1.18.50

いるんですよね。りんご/みかん/もも、から選べと書いているのにパイナップルとか書いちゃう人。こういう事すると数式に指定がないとエラーが出ます。こんなときには#N/Aというエラーが出ます。これは該当データが無いんだな。と認識するだけでもいいのですが、エラーの場合は別の文字に置き換えるようにしたほうがかっこいいです。
ということで次はエラーを検知しましょう。

3.IFERROR関数

■書き方
IFERROR(値, [エラー値])

■説明(スプレッドシートの説明欄より引用)

IFERROR("エラーなし", "エラー")
概要
エラー値でない場合は 1 番目の引数を返します。エラー値である場合は 2 番目の引数を返します(指定した場合)。2 番目の引数を指定していない場合は空白が返されます。

[値] 自体がエラーでない場合に返す値です。
エラー値 - [任意]
[値] がエラーである場合に返す値です。

簡単に言うと、IF関数のように数式を対象にチェックして、もしそこがエラーなら、別の文字(ないしは追加の数式)に置換できるよ。という数式です。めっちゃ便利ですよね。

スクリーンショット 2021-10-23 1.25.16

さっきの数式を少し変えましたが、りんご→赤い、みかん→黄色、それ以外はえらが出るが、「-」ハイフンに置換するという数式を組みました。
見栄えも良くなりましたね!

今日はここまで。
IF関数いかがでしたでしょうか。
かなりさわりの部分だけでさらっと行きました。「難しいよう!」という方もいるかも知れませんが、関数はできない人ってほとんどいません。やり方と書き方を一個づつ写経していけば誰でもできるようになれます。
一緒にやっていきましょう。

あとがき
お疲れ様でした。2時間くらいかかりましたが、IF関数の記事できました。
最近思うのですが、言い訳には2種類あるなと思います。

①「ただの言い訳」
〇〇だったからできなかった。今回はたまたまできなかった。

②「不平不満もあるけど、やるしかない自分への最後のデトックス」
ほんと無理ゲーなんだけど、これできないとクライアント困るじゃん。やるしかないんだよなー。まあ、やるしかないよね。どうやろうか。

自分のクライアントがたまにミーティングで「〇〇だからできない」ということを言い出しますが、本当にやりたくないならやる必要はないと私は思います。だってやりたくないなぁって思ったらやるのきついし。

でも、そうはいっても家族のためとか、仲間のためとか、ロジックだけじゃない頑張れる瞬間もあっていいのではと思っています。言い訳をすること自体が問題じゃない。言葉に出すことで心から整理されることもあるんじゃないかな。誰か言い訳を最後までちゃんと聞いて、「大変だったね」といってくれれば、大体いい人はそこからまた頑張れるもんじゃないかな。

おつかれ様でした。

この記事が気に入ったらサポートをしてみませんか?