• ベストアンサー

【Excel】この場合どの関数を使えばよいですか?

Excelについて質問です。 添付画像の表のE列の対応可否に関数を入れたいです。 E列に入る値は3つです。 以下の条件の場合に3つの値のいずれかが自動的に入る関数を教えてください。 ・「-」…C列のステータスの値が完了の場合 ・「対応可能(色は緑)」…C列のステータスが対応中かつそのレコードより上にD列のIDと同じ値が無い場合 ・「対応不可(色は赤)」…C列のステータスが対応中かつそのレコードより上にD列のIDと同じ値がある場合 どうぞよろしくお願いいたします。

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

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

例データ A1:D8 下記 D列は関数を入れた、結果も併せて掲げています。 NO ステータス ID 対応可否 1 完了 A - 2 対応中 B 対応可能 3 完了 A - 4 完了 C - 5 対応中 B 対応不能 6 対応中 C 対応可能 7 対応中 B 対応不能 ーーー D2の式は =IF(B2="完了","-",IF(AND(B2="対応中",COUNTIFS($C1:C$1,C2,$B1:B$1,"<>完了")>=1),"対応不能","対応可能")) 下方向に式を複写。 完了なら「ー」 そうでない「対応中」なら C列で前行!までにその行のC列の値があるか、 併せて、「C列で前行!までにその行のC列の値があっても」、B列でその行が、「完了」でない行が 1つでもあれば、「対応不能」とする。それ以外は「対応可能」。 テストデータ数が少ないので、心配ですが。 ーー セルに塗りつぶしの色を付けるのは、(現状では)関数だけではできない。 条件付き書式の中で、関数の結果で出た文字列(「対応不能」)を、「数式」(関数と見た目は似ている)で判別して、色を付ける。 その場合実質、思考的には、IF文と同じものを使うが、IFは入れず、(=XXは結果がTRUEかFALSEが返るが、)そのTRUEを狙って、セルに色などが着く。 セル範囲指定ーホームー条件付き書式ー新しいルールー数式を利用して・・ 数式は  =D2=”対応不能"   書式を設定 セルの塗りつぶしの色を指定 (色は淡い色をお勧め)OK

その他の回答 (3)

回答No.3

訂正。 No.2の回答では、上手く行きません。

回答No.2

E4に =IF(C4="完了","-",IF(IFERROR(VLOOKUP("対応中",C$3:D3,2,0),"")=D4,"対応不可","対応可能")) という式を入れて下にコピー。 色を付けるには、条件付き書式を使います。「-」なら背景白、「対応可能」なら背景緑、「対応不可」なら背景赤、というようにします。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

IF関数でいいと思います。