アフィリエイト広告を利用しています
G-QVESCNWRVH

2021年06月17日

Excel : 便利な関数 IFs 関数

Excel Tips IFs関数.jpg
●今回の関数は?

IFs 関数

●どんな時に使う?

ある条件を判断して、それが正しい(真)であるか、誤り(偽)であるかによって、関数の値を選択するのが、IF関数でした。
詳しくは、Excel : 便利な関数 If関数 から始まる IF関数シリーズをご覧くださいね。

しかし、条件を判断するシチュエーションは、単純ものも確かにありますが、IF関数を何重にも使わなければならないシチュエーションもあります。

先日、私がそのようなシチュエーションに遭遇し、IF関数で何とか乗り切ろうと思いました。
そして、
=IF(<条件1>, IF(<条件2>, IF(<条件3>, IF(<条件4>, <条件4が真の時の処理>,<条件4が偽の時の処理>), <条件3が偽の時の処理>), <条件2が偽の時の処理>), <条件1が偽の時の処理>)
とか入力し、 Excel が無情にも、循環参照があります・・・とかエラーメッセージを表示しました。

そこで、何重にも重なったIF関数を眺めて・・・どこに循環参照があるのだろう・・・?と
ずーっとにらめっこしていましたが、結論は 無理
場合分けが多すぎる・・・と言うことで断念しました。

しかし、再度構築するには、心が折れていました。
だって、もう一度入力して、エラーが出たら、パソコンを壊しちゃってるだろうと思いましたから。

そこで、IFs関数を使いたいって思いました。
しかし、私の使用している Excel2013 だったので、IFs関数が使えなかったのでした。

そこで、職権乱用してExcel 2013のライセンスと他のPCの Excel 2019 のライセンスを交換し、Excel 2019 を使用できるようにしました。

そして、IFs関数を使用して入力したのがこれ
実際に入力した Excel シートの画面コピーです。
Excel Tips IFs関数使用例.jpg
図中で示しているのが、セルの中に入力して IFs関数式です。
これは、どう考えても、IF関数で入力することは無理でしょ

これは当社の臨床検査項目マスターで、項目コード体系を変更しようとしていて、新体系で問題となるレコードを抽出し、どのように修正すればよいかをわかりやすくするために、IF関数で作ろうとしていたんですが、挫折しました。

これが、IFs関数を使うと、上図例ではごちゃごちゃと長たらしい式になっていますが、読もうと思えば読めます

IF関数ではもちろんこれより短い段階で挫折しました。

IFs関数を送り出してくれた Microsoft さんに感謝感激です!

●注意すべき点は?

とっても便利な IFs関数ですが、注意点はありますね

例えば、A1セルに比較したい値が入っているとして、

=IFs ( A1 = 100, "素晴らしい", A1 > 80, "よく頑張りました", A1 > 60, "なかなか", A1 > 40, "もうひと頑張り", true, "あれまぁ")

ってした場合には、A1 セルの値によって思惑通りの値を IFs関数は返してくれますが、

=IFs ( A1 = 100, "素晴らしい", true, "あれまぁ", A1 > 80, "よく頑張りました", A1 > 60, "なかなか", A1 > 40, "もうひと頑張り")

ってした場合は、100以外では、すべて"あれまぁ"ってことになります。

これは、IFs関数が、左から順に式を評価し、その式が真 (True) になったり、隣の結果を返す・・・って仕様だからです。
よって、真になる条件式が見つかった段階で、それ以降の条件式は見向きもされません。
なので、先ほどの例では、2個目の条件式が True (いついかなる時でも真)なので、そこで"まぁまぁ"が選ばれて、その後の条件式は全く評価されなかったわけです。

この点は、気を付けておかないと、
なんで?.jpg
ってことになりかねません。

そして、この状態になると、思い込みの方が強くて、
きっと Excel バグだーって、わけのわからない考えに陥っちゃいます

バグ:プログラムのミスによる動作不良など

しかし、上記注意点に気を付けていると、これほど便利な関数は今までなかったのではと思えるほどです

ちなみに、多くのプログラミング言語で、 Select Case 文が導入されていますが、 IFs 関数は、この Select Case 文の考え方そのものです。

まぁ、難しく考えないで、困ったときは便利な関数をつかいましょー

そだ!
他の関数も使ってみてほしいので、 このシリーズの目次を・・・




この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント: 必須項目

この記事へのトラックバックURL
https://fanblogs.jp/tb/10801162

この記事へのトラックバック
ファン
検索
<< 2024年11月 >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新記事
写真ギャラリー
最新コメント
タグクラウド
カテゴリーアーカイブ
プロフィール
Y.Taki@AS400さんの画像
Y.Taki@AS400
IBM AS/400で稼働するシステムの開発・追加を担当して30年以上になります。使えば使うほどこの AS/400 が好きになりました。 こんなSEがいろいろな視点から様々な業務などについて語ります。
プロフィール