見出し画像

#21 分かりやすい関数を書くコツ

こんにちは。みっちーです。
このnoteは1回3分で読めるExcel解説本です。

すべて無料で読めます。

テーマはこちらで決めるので、
Excelを広範囲に学びたい人におすすめです。

前回はAND関数とOR関数を解説しました。

その中で紹介した関数の1つ。

③IF(AND(注文="パスタ",OR(注文="コーヒー",注文="紅茶"),1,000円)

IF関数の中にAND関数があり、その中にOR関数が入っています。このような書き方を関数の入れ子(関数のネスト)と呼びます。

さて、この入れ子ですが、意識しないと読みづらい関数になります。

前回の喫茶店で考えます。
①パスタ  800円
②コーヒー 300円
③パスタ&コーヒーセット 1,000円

これを1文で表現すると、

=IF(AND(注文="パスタ",注文="コーヒー"),1,000円,IF(注文="パスタ", 800円),IF(注文="コーヒー",300円),注文なし)

長くて、読みづらいですね。

改良します。

私なら、注文を「フード」と「ドリンク」に分けます。

①IF(フード="パスタ",800円)
②IF(ドリンク="コーヒー",300円)

そして、両方に注文があるとセット料金なので、

③IF(①+②=1100円,1000円,①+②)

合計金額からセット料金の有無を決定します。

変更前

=IF(AND(注文="パスタ",注文="コーヒー"),1,000円,IF(注文="パスタ", 800円),IF(注文="コーヒー",300円),注文なし)

変更後

①IF(フード="パスタ",800円)
②IF(ドリンク="コーヒー",300円)
③IF(①+②=1100円,1000円)

すっきりと、分かりやすくなりました。

分かりやすい関数を書くポイントは、関数を分割することです。

関数を分割すると、1つ関数が短くなります。
関数が短くなると、条件が単純になり分かりやすくなるのです。

前回同様、紅茶の注文が増えたケースを考えてみます。

①パスタ  800円
②コーヒー 300円
③紅茶   300円
④パスタ&コーヒーセット 1,000円
⑤パスタ&紅茶セット   1,000円

①IF(フード="パスタ",800円)
②IF(OR(ドリンク="コーヒー",ドリンク="紅茶"),300円)
③IF(①+②=1100円,1000円)

ね、かんたんでしょ。

変更点はOR(ドリンク="コーヒー",ドリンク="紅茶")だけです。

次の関数に、紅茶の注文を追加してみてください。

=IF(AND(注文="パスタ",注文="コーヒー"),1,000円,IF(注文="パスタ", 800円),IF(注文="コーヒー",300円),注文なし)

・・・考えたくありませんね(笑)

まとめます。
・関数は1文が長くなればなるほど、分かりづらい
・1文が長い関数は、機能拡張が難しい。
・1文を短くするために、関数を分割する。
・短い関数は分かりやすく、機能拡張がしやすくなる。

今日はここまで。

参考になった方、次回も楽しみと思われた方は、
『スキ』と『フォロー』してくれるとうれしいです。

最後までお読みいただき、ありがとうございました😊✨

アンケートのお願い

配信の質を上げるため、アンケートにご協力ください。
2~3分で終わります。

お問い合わせはこちら

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