Excel 2024を使用している際に、複数の条件を組み合わせてIFS関数で処理を行いたい場合、適切な数式を作成するのは少し難しいことがあります。特に、特定の文字列が含まれているかを判定したり、他の条件が追加される場合に混乱することがあります。今回は、あなたの要望に合わせた数式作成方法を解説します。
ExcelのIFS関数の基本とは?
IFS関数は、指定した複数の条件を順番に評価し、最初に真(TRUE)となった条件に対応する結果を返す関数です。条件に合わせて異なる結果を返したい場合に非常に便利です。例えば、「前払金」や「未払金」などのキーワードを条件にしたり、特定の文字列に対して異なる値を表示する際に使用できます。
問題の数式とその課題
あなたの求める条件を満たすために、次のような数式を使用したいとのことです。
=IFS(D36="","",SUM(COUNTIF(D36,{"*前払金*","*未払金*","*販売商品*"}))>0,"001",AB36="本社","002",AB36="東京","003",TRUE,"004")
この数式では、D36セルに特定の単語が含まれている場合に「001」を返し、AB36セルに「本社」や「東京」が含まれている場合に別の値を返すことを意図しています。しかし、この数式には「前払金」などのキーワード検索が他のセルに影響を与えるという問題があります。
解決方法:キーワードの検索による影響を防ぐ
まず、検索の影響を避けるために、COUNTIF関数の使用方法を改善します。COUNTIF関数は部分一致を使用するため、予期せぬセルの値にも一致してしまうことがあります。この場合、具体的なセル内容と照合するように工夫しましょう。
以下のように修正すると、特定のキーワードがD36セルにのみ適用されるようになります。
=IFS(OR(D36="前払金", D36="未払金", D36="販売商品"), "001", AB36="本社", "002", AB36="東京", "003", TRUE, "004")
これにより、D36セルに正確に「前払金」や「未払金」などが含まれていれば「001」が返され、それ以外の場合には「004」などが返されます。
条件追加:AB列の「本社」や「東京」がある場合でも「001」を優先する方法
さらに、AB列に「本社」や「東京」が含まれている場合でも、「前払金」がD36に入っていたら「001」を返したいという追加条件があります。この場合、D36セルの内容が優先されるように数式を修正する必要があります。
次のように数式を調整することで、AB36が「本社」や「東京」であっても、D36に「前払金」が含まれていれば「001」が優先されます。
=IFS(OR(D36="前払金", D36="未払金", D36="販売商品"), "001", AND(OR(AB36="本社", AB36="東京"), NOT(OR(D36="前払金", D36="未払金", D36="販売商品"))), "003", TRUE, "004")
この数式では、D36に「前払金」が含まれていれば優先的に「001」が返され、それ以外の条件に応じて「003」や「004」が返されます。
まとめ
ExcelのIFS関数を使って複数の条件を処理する方法について解説しました。特に、キーワード検索の影響を最小限に抑えるためには、COUNTIF関数の代わりにOR関数を使って特定の文字列と正確に照合することが重要です。また、条件を追加して優先順位を設定することで、より柔軟な数式を作成することができます。この方法を使えば、より効率的に複雑な条件付きの処理が行えるようになります。


コメント