- ベストアンサー
エクセル関数を用いて判定したいのですが・・・
エクセル関数初心者です。 IF関数を用いて数値を判定したいのですが、 男性と女性で判定基準が異なります。 セルAが"男性"なら、セルBが2以上の場合で"●" セルAが"女性"なら、セルBが4以上の場合で"●"、 それ以外は"▲" このような条件で判定分けできる方法はありますか? さらに、 セルAが"男性の場合、Bが2~4なら"●"、4より大きい場合は"▲"、2未満なら"×" セルAが"女性の場合、Bが3~5なら"●"、5より大きい場合は"▲"、3未満なら"×" 何かやり方があれば、教えてください。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
1問目 =IF(OR(AND(A2="男性",B2>=2),AND(A2="女性",B2>=4)),"●","▲") 2問目 =IF(OR(AND(A2="男性",AND(B2>=2,B2<=4)),AND(A2="女性",AND(B2>=3,B2<=5))),"●",IF(OR(AND(A2="男性",B2<2),AND(A2="女性",B2<3)),"×","▲")) で、どうでしょう
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
質問前半は質問に値しないぐらい、易しい。ただIF関数をネスとして、式に順に書いていくだけ。略。 ーー 後半 ちょっとひねって VLOOKUP関数のTRUE型を使うが、「名前」の応用で 式が1つ(男性・女性とも区別不要で・1つの形で)で出来そうだ(うまく行くようだ)。 例データ A5以下に A列 B列 C列(式の結果で、後述) 男性 4 ▲ 男性 2 ● ーーー E4:F7 0 X 2 ● 4 ▲ 100 と入れて、セル範囲名を「男性」としておく。名前ボックスに「男性」と入れるだけ。 ーーー G4:H7に 0 X 3 ● 5 ▲ 100 と入れて、セル範囲名を「女性」としておく。 ーーー C5の式に =VLOOKUP(B5,INDIRECT(A5),2,TRUE) と入れて 下方向に式を複写。 結果 上記C列。 ーー IF関数を表に出さないのが私の理想なので考えてみた。
お礼
回答ありがとうございます。 さらに複雑な判定も、VLOOKUPを使ってうまくいきました。
- gyouda1114
- ベストアンサー率37% (499/1320)
- kokorone
- ベストアンサー率38% (417/1093)
IF( AND(A1="男性",B1>=2,B1<=4),"●", IF( AND(A1="男性",B1>4),"▲", IF( AND(A1="男性",B1<2),"×", IF( AND(A1="女性",B1>=3,B1<=5),"●", IF( AND(A1="女性",B1>5),"▲","×") ) ) ) ) と言うように、場合わけを列記すれば可能ですね。 (分かりやすいよう、改行をいれています。) 作業用にセルを使えるのであれば、 D1=IF(A1="男性",2,3) E1=IF(A1="男性",4,5) とした上で、 IF( AND(B1>=D1,B1<=E1),"●", IF( B1>E1,"▲","×") ) ということも可能です。
お礼
回答ありがとうございます。 解決いたしました。
- gyouda1114
- ベストアンサー率37% (499/1320)
お礼
回答ありがとうございます。 この方法は、理解しやすかったです。