見学に行くとしたら【天国】と【地獄】どっち?

おはようございます。
エクセル関数の問題です。
エクセル365からIFS関数が使えるようになりました。
私はエクセル2021ですので最新です。
そこでどちらを使うのが良いのか教えてほしいのですが、どうでしょうか?
一応、同じ結果を出すように作ってみました。

=IF(B2>=80,"優",IF(B2>=70,"良",IF(B2>=60,"可","不可")))
=IFS(B2>=80,"優",B2>=70,"良",B2>=60,"可",B2<=59,"不可")

A 回答 (4件)

私はエクセル関数を常用しないので良い悪いは言えませんが、一般的にはIFSの方が良いように思えます。



しかし、状況や個人の好みに依る気がします。
例えば、単純な〇、×を表示したい場合なら
=IF(B2>=60,"〇","×") がシンプルだし、
=IFS(B2>=60,"〇",TRUE,"×") は何だかなぁ~ です。

特に最後の条件は TRUE が望ましいと思います。
書いてらっしゃる IFSの例では B2 が59.4 とかだったら #N/A エラー になりませんかね?

IFSの構文仕様はイマイチに思いますね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
そうですね、確かに。

お礼日時:2024/07/21 17:44

この程度ならIF関数を使うほうがよいと思います。


他の人が見た場合の理解しやすさや、旧バージョンでも使えること、が理由です。

例として記載された式は等価ではないですね。IFSを使った式を以下のようにするのがよいです。
修正前:=IFS(B2>=80,"優",B2>=70,"良",B2>=60,"可",B2<=59,"不可")
修正後:=IFS(B2>=80,"優",B2>=70,"良",B2>=60,"可",B2<60,"不可")
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
この場合、if関数のほうがいいですかね。

お礼日時:2024/07/21 17:47

「IFSの使えない古いExcel環境でもそのシートを使う必要があるかも」という懸念が無いのであれば、「常にIFS」で良いと思います。


括弧のネスティングが多いと見にくい(=間違いやすい)です。

=IF(B2>=80,"優","可") のように、ELSEの分岐が無いのならどっちでも良いですが、あえてIFSを避ける意味が無い。

「IFSの使えない古いExcel環境でもそのシートを使う必要があるかも」であれば、選択の余地無く「IF と 括弧過多」ですね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
場合によってですね。

お礼日時:2024/07/21 17:42

あとから見た時の分かりやすさ、だと思います。

IFSの方が分かりやすいですね。

でも、IFSは古いバージョンでは使えないので、古いバージョンでもそのExcelファイルを使うのであれば、IFSを使うのは避けるべきでしょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
場合によってですね。

お礼日時:2024/07/21 17:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A