• ベストアンサー

SUMPRODUCT関数とCOUNTIF関数

A-001 A-001 A-002 A-003 B-001 B-002 A-001 C-001 C-002 とあったときに仮に9個の製品コードであるとして、 A-001は3回でてきていますので種類としては7種類の 製品コードということになります。 "質問:様々ある素材のうち重複しているものは1つだけカウントして上記の7というような値を求める関数がありますか?" 以前このような質問をし、 ”=SUMPRODUCT(1/COUNTIF($A$1:$A$9,A1:A9))” との回答をいただきました。回答通りにやると値が求められました。とても大助かりでした。 そこで、関数のヘルプで どういう関数かを勉強しましたが僕には理解できませんでした。配列とかなんとかやらでてきて……超ムズイ!! だれかこんな僕にとても分かりやすいことばで SUMPRODUCT関数とCOUNTIF関数を教えていただけませんか?EXCELのヘルプは難しすぎる…… 宜しくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

SUMPRODUCT関数は配列の積の和を求める関数です。 SUMPRODUCT({1,2,3,4},{1,2,3,4})=1*1+2*2+3*3+4*4=30 になります。 配列に条件を設定した場合、結果はTRUE,FALSEで返されますが これを計算に使う場合、TRUE=1,FALSE=0として使用できます。 COUNTIFと同じ用法 =SUMPRODUCT(({1,2,3,4}>2)*1)=0*1*0*1+1*1+1*1=2 となり条件(>2)にあう件数は2となります。 SUMIFと同じ用法 =SUMPRODUCT(({1,2,3,4}>2)*{1,2,3,4})=0*1*0*2+1*3+1*4=7 となり条件(>2)にあうデータの集計は7となります。 上記の数式の場合は =COUNTIF($A$1:$A$9,A1)=3 =COUNTIF($A$1:$A$9,A2)=3 =COUNTIF($A$1:$A$9,A3)=1 ・・・ =COUNTIF($A$1:$A$9,A9)=1 で =SUMPRODUCT(1/COUNTIF($A$1:$A$9,A1:A9)) は上記の結果を分母とした数値の和なので =1/3+1/3+1+1+1+1+1/3+1+1=7 のように、1/件数*件数=1となるため結果として重複した値を1件として カウントすることが可能になります。

fumako
質問者

お礼

お教えいただきありがとう御座いました。 本当に本当に大助かりです!!! 大感謝!! お教えいただいたことは絶対にわすれません。 それではまた!

その他の回答 (1)

  • hiro1842
  • ベストアンサー率27% (5/18)
回答No.1

こんにちは。 1ヶ月くらい前に、ゼロの状態から勉強しはじめました。 ここのHPは初心者用に作ってありますので、 分かりやすいと思います。 関数は中級編にあります。 そこにSUMPRODUCT関数やCOUNTIF関数が説明されています。 画像付きですので分かりやすいと思います。 では(^o^)丿

参考URL:
http://homepage1.nifty.com/kenzo30/
fumako
質問者

お礼

お教えいただきありがとう御座いました。 本当に本当に大助かりです!!! 大感謝!! 私も素人です。お互い頑張りましょう! それではまた!

関連するQ&A