• 締切済み

エクセルの関数について教えてください。

エクセルの関数について教えてください。 案件 項目 ステータス A ○○ 契約中 A ▲▲ 停止中 A □□ 契約中 B ○○ 契約中 B ▲▲ 解約 C ○○ 解約 D □□ 契約中 というふうになっている場合、 契約中を含む案件のものだけを重複を除いて 数を数える方法を教えてください。

みんなの回答

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

1.補助セルを2つ使う方法  セルD2に =IF(C2="契約中",A2,"")  セルE2に =(1/COUNTIF($D$2:$D$8,D2))*($D$2:$D$8<>"")  これを8行目までコピーします。  答えは、 =SUM(E2:E8) です。 2.補助セルを1つ使う方法(E列はいりません)  セルD2に =IF(C2="契約中",A2,"")  答えは、 =SUMPRODUCT(($C$2:$C$8="契約中")*(1/COUNTIF($D$2:$D$8,$D$2:$D$8)))  この算式ではデータの最終行「8」を設定する必要があります。データが何行あっても使える式にします。   =SUMPRODUCT((INDIRECT("$C$2:$C$"&COUNTA(A:A))="契約中")*(1/COUNTIF(INDIRECT("$D$2:$D$"&COUNTA(A:A)),INDIRECT("$D$2:$D$"&COUNTA(A:A))))) 最終行を計算しているので長くなりました。 やっていることは、条件を満たすデータが案件ごとに、2件なら1件当たりの期待値(1/2)、3件なら(1/3)・・・としています。全部足すと求めたい値になります。

  • hg3
  • ベストアンサー率42% (382/896)
回答No.1

契約中の数を数えるだけなら、 「COUNTIF」を使えば良いでしょう。 もしステータスをC2~C8のセルに入力してあるなら、  =COUNTIF(C1:C8,"契約中") とします。

y19880527
質問者

お礼

ご回答ありがとございます。 数を数えたいのは各案件に対して一つでも契約中を含む案件の数なのです。 例えば案件Aの項目全てが解約の場合は除外というように、 したいのです。 説明不足で申し訳ございません。

関連するQ&A