プロが教えるわが家の防犯対策術!

=IF(J4="青森県",IF(Q4<=200,22,IF(Q4>200,21,"")))の様に
青森県単体では、計算できるのですが 同じセルに 他岩手県や秋田県がでるには…

A 回答 (3件)

青森県では無かった場合の処理は行なわないとなってる。


そこを、岩手県だったら、とか、秋田県だったら、を追加して行く。

=IF(J4="青森県",IF(Q4<=200,22,IF(Q4>200,21,"")),
IF(J4="岩手県",IF(Q4<=200,22,IF(Q4>200,21,"")),

・)
    • good
    • 0

こんにちは



勝手に想像して、「条件分岐数が多くなったらどうすれば良いか」という質問と解釈しました。

論理的には、場合分けを繰り返せば(IF文のネストを繰り返す)記述できますけれど、エクセルではIF文のネスト回数に制限があるので、実際には記述しきれないということになります。
最近の、IFS()関数が使えれば大分簡単になるものと想像しますが、条件の数が多いとこれも書くのが面倒かもしれません。(私の環境では使えないので、条件数に制限があるのかは分かりません)

・・・ということで、条件が多くても対応可能な方法を。
ご提示の式だけでは、他の場合の条件がどのようになっているのか不明ですが、仮に、『県ごとに境界値(ご提示では200の値)が異なり、その上下に応じて決められた(県ごとに異なる)値を設定したい』ものとします。(考え方説明上のとりあえずの仮定です)
文章ではわかりにくいですが、添付図の右側のような表を作成しておきます。
(添付図では同じシートにしていますが、実際の表は別シートにしておくほうが良いでしょう)
「Q列の値が県ごとの境界値より大きいか小さいかで、表内の該当する数値を返す」ようなルールとします。
(ルールが異なる場合は、それに応じた表を考えて作成すれば良いです)

関数式を「この表を参照しながら該当する値を返す関数」にしておけば、条件(県の数)が多くても、関数式が変わることはありません。

掲載の都合で、添付図ではA列にご質問のJ列の値が、B列にQ列の値があるものとして、これを参照する式としてC2セルに
 =VLOOKUP(A2,E:H,IF(B2<=VLOOKUP(A2,E:F,2,FALSE),3,4),FALSE)
の関数式を代入し、下方にフィルコピーしています。

※ あくまでも考え方の原理の説明のためなので、式を簡略化していますが、表の範囲の修正やエラー処理(表に該当する県が無い場合等)を追加すれば宜しいかと。
※ 勝手に想像しているので、当たるも八卦ではありますが、ご参考まで。
「エクセルの関数で困ってます」の回答画像2
    • good
    • 0

質問文が途中で消えています。


最後まで書いてください。
    • good
    • 0

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