• ベストアンサー

エクセル関数

イ.グループ C2:C4の範囲で (1)又は(2) が存在 ロ.グループ C2:C4の範囲で (4)又は(5) が存在 ハ.グループ C2:C4の範囲で (7)又は(8)又は(9) が存在 イ、ロ、ハの各グループ(1)(2)、(4)(5)、(7)(8)(9)が同時に存在した場合 のみ●印で表す様にしたのですが、良い関数がありましたら 教えてください。 例えば イ.グループ C2:C4の範囲で (2) が存在した ロ.グループ C2:C4の範囲で (5) が存在した ハ.グループ C2:C4の範囲で (9) が存在した   この場合は●で表示。 よろしくお願いします。

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

  • ベストアンサー
  • sakeman
  • ベストアンサー率43% (67/153)
回答No.3

一例です。IF関数とCOUNIF関数を組み合わせています。 表示するセルに「=IF((COUNTIF(C2:C4,1)+COUNTIF(C2:C4,2))*(COUNTIF(C2:C4,4)+COUNTIF(C2:C4,5))*(COUNTIF(C2:C4,7)+COUNTIF(C2:C4,8)+COUNTIF(C2:C4,9))<>0,"●","")」と入力してください。 C2:C4に1又は2があると1~3が求まり、無いと0を返します。同様に4,5が無いと0、7,8,9が無いと0を返します。即ち、それぞれの条件を満たす場合は掛け合わせた答えが0では無い(<>0)場合に、●の条件を満たすことになります。

その他の回答 (5)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.6

こんにちは。maruru01です。 こんな感じ。 =IF(SUM(COUNTIF(C2:C4,{1,2}))*SUM(COUNTIF(C2:C4,{4,5}))*SUM(COUNTIF(C2:C4,{7,8,9})),"●","") 基本的にはNo.3の方と同じです。 それから、C2:C4に入るのが、必ず0~9の1桁の数値のどれかという限定した条件の場合は、 =IF(SUMPRODUCT(MID("0110220444",C2:C4+1,1)*1)=7,"●","") で出来ます。

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.5

No2です。$は必要ですか。について $が付くという事は、その列ないしは行を絶対参照とする必要があるから必要なのです。 これは、どのようなことか? 例えば、式をそれぞれのセルに一つ一つ入れていくなら必要ありません。しかし、式をドラッグしてコピーする場合には、これらの$が必要になってくるのです。 詳しく話すと長くなるのですが、セルを参照する場合には相対参照と絶対参照が有ります。(絶対参照の場合には、行絶対や列絶対などの参照方法があります。特に今回の場合のように、比較するセル範囲が一定の場合は範囲が変わると、相対参照では比較が出来なくなります。) と言う事で、一つ一つ式を入れるなら必要なし。 H2の式をドラッグしてH3に入れるなら必要あり。 H4はそのままドラッグしてコピーから式を変更。 こちらの方が手間が掛からないので$を使いました。

kent0600
質問者

お礼

重ねて感謝します。 がんばってやってみます。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

NO.1です。 COUNTIF関数で検索条件の計数値で判定しようとした結果、ダブりを考慮してイロハの各グループに重み付けを行いました。(例としてイはx1、ロはx2、ハはx5としました。) 従って、●表示は検証値が「8」となり、それ以外は期待外パターンですから非表示となります。

kent0600
質問者

お礼

ありがとうございました。 がんばってみます。

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.2

E2・F2に1・2 E3・F3に4・5 E4・F4・G4に7.8.9 H2に=OR(E2=$C$2:$C$4,F2=$C$2:$C$4)と入力後Ctrl+Shuftを押しながら改行(これで式が{}で括られる。) 同様に H3に=OR(E3=$C$2:$C$4,F3=$C$2:$C$4) H4に=OR(E4=$C$2:$C$4,F4=$C$2:$C$4,G4=$C$2:$C$4) これでH2からH4にそれぞれの数値があればTRUE、無ければFALSEが表示される。 I4に=IF(AND(H2=TRUE,H3=TRUE,H4=TRUE),"●","×")とする。これで全ての条件が整った時に●、一つでも整わなければ×が表示されます。

kent0600
質問者

お礼

ありがとうございました。 E2・F2に1・2 E3・F3に4・5 E4・F4・G4に7.8.9 このように別表を作成してOR関数とIF関数で処理するわけですね! $マークはどうしても必要でしょうか?

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

安直ですが、以下の方法は如何でしょうか。 =IF(COUNTIF(C2:C4,"(1)")+COUNTIF(C2:C4,"(2)")+(COUNTIF(C2:C4,"(4)")+COUNTIF(C2:C4,"(5)"))*2+(COUNTIF(C2:C4,"(7)")+COUNTIF(C2:C4,"(8)")+COUNTIF(C2:C4,"(9)"))*5=8,"●","")

kent0600
質問者

お礼

ありがとうございました。  のみこみが悪くて再度教えてください。 =IF(COUNTIF(C2:C4,"(1)")+COUNTIF(C2:C4,"(2)")+(COUNTIF(C2:C4,"(4)")+COUNTIF(C2:C4,"(5)"))*2+(COUNTIF(C2:C4,"(7)")+COUNTIF(C2:C4,"(8)")+COUNTIF(C2:C4,"(9)"))*5=8,"●","") の数式でわからない事があります。 )"))*2の部分で2を欠ける意味と乗ずる意味と )"))*5の部分で2を欠ける意味と乗ずる意味と 5=8の部分の意味を教えてください。 =IF(COUNTIF(C2:C4,"(1)")+COUNTIF(C2:C4,"(2)")+(COUNTIF(C2:C4,"(4)")+COUNTIF(C2:C4,"(5)"))*2+(COUNTIF(C2:C4,"(7)")+COUNTIF(C2:C4,"(8)")+COUNTIF(C2:C4,"(9)"))*5=8,"●","")

kent0600
質問者

補足

ありがとうございました。  のみこみが悪くて再度教えてください。 =IF(COUNTIF(C2:C4,"(1)")+COUNTIF(C2:C4,"(2)")+(COUNTIF(C2:C4,"(4)")+COUNTIF(C2:C4,"(5)"))*2+(COUNTIF(C2:C4,"(7)")+COUNTIF(C2:C4,"(8)")+COUNTIF(C2:C4,"(9)"))*5=8,"●","") の数式でわからない事があります。 )"))*2の部分で2を乗ずる意味と )"))*5の部分で5を乗ずる意味と 5=8の部分の意味を教えてください。

関連するQ&A