• ベストアンサー

エクセル関数を用いて判定したいのですが・・・

エクセル関数初心者です。 IF関数を用いて数値を判定したいのですが、 男性と女性で判定基準が異なります。 セルAが"男性"なら、セルBが2以上の場合で"●" セルAが"女性"なら、セルBが4以上の場合で"●"、 それ以外は"▲" このような条件で判定分けできる方法はありますか? さらに、 セルAが"男性の場合、Bが2~4なら"●"、4より大きい場合は"▲"、2未満なら"×" セルAが"女性の場合、Bが3~5なら"●"、5より大きい場合は"▲"、3未満なら"×" 何かやり方があれば、教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.3

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)),"×","▲")) で、どうでしょう

marrien
質問者

お礼

回答ありがとうございます。 この方法は、理解しやすかったです。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

質問前半は質問に値しないぐらい、易しい。ただ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関数を表に出さないのが私の理想なので考えてみた。

marrien
質問者

お礼

回答ありがとうございます。 さらに複雑な判定も、VLOOKUPを使ってうまくいきました。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.4

回答番号:No.1です 後段です Vlookup関数を使って 画像で E1:G6に男女別に●▲×の表 C2に =VLOOKUP(B2,$E$1:$G$7,IF(A2="男",2,3))

marrien
質問者

お礼

回答ありがとうございます。 VLOOKUP関数は知らなかったのですが、大変勉強になりました。

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.2

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,"▲","×") ) ということも可能です。

marrien
質問者

お礼

回答ありがとうございます。 解決いたしました。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.1

前段だけですが >セルAが"男性"なら、セルBが2以上の場合で"●"セルAが"女性"なら、セルBが4以上の場合で"●"、それ以外は"▲" C2に =IF(AND(A2="男",B2>=2),"●",IF(AND(A2="女",B2>=4),"●","▲")) 下方にオートフィル

関連するQ&A

専門家に質問してみよう