- ベストアンサー
Excel、重複セルを1とカウントする
jcb3092で御座います。 標記の件で教えて下さい。 以下の文字列をカウントするのですが f5:f154 前に教えて頂いたこの関数に範囲を置き換えて =INT(SUMPRODUCT(1/SUBSTITUTE(COUNTIF(F5:F154,F5:F154),0,100))) としました。 教えて頂きたいのはこの関数の終わりの部分(セル範囲の後)の 0,100は何を指しているのかで御座います。 これを理解していないと安心できません。 よろしくお願い申し上げます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
対象範囲の中に空白のセルを含んでいた時に、エラーにならない工夫をしていますね。 その工夫をしていないと、空白のセルを含んでいる時に個数ゼロがカウントされるので、ゼロ割になってエラーになります。個数ゼロをSUBSTITUTE関数で100に置き換え、ゼロ割を回避するという仕組みです。 対象範囲(今ならF5:F154)に含まれるセルの個数よりも、たくさんの数字に置き換える必要があります。 アナタが自分で範囲を置き換えて作成したその式では、数が足りていないので間違った計算結果が表示されます。 たとえば =INT(SUMPRODUCT(1/SUBSTITUTE(COUNTIF(F5:F154,F5:F154),0,1000))) としなければいけません。
その他の回答 (1)
- Cupper-2
- ベストアンサー率29% (1342/4565)
SUBSTITUTE関数で使用される引数です。 SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象) ※置換対象は省略可能 こう使います。 =INT(SUMPRODUCT(1/SUBSTITUTE(COUNTIF(F5:F154,F5:F154),0,100))) の中のSUBSTITUTE関数は SUBSTITUTE(COUNTIF(F5:F154,F5:F154),0,100) の部分です。 COUNTIF関数を省略すると SUBSTITUTE(x,0,100) こうなります。 こう考えると、COUNTIF関数で得られた結果の0を100に置き換えているわけで…。 てか、なんでそんな面倒な関数になるのか疑問だなあ。 もうちょっと分かりやすい回答は付きませんでした?
お礼
Cupper-2 様 ありがとう御座いました。 空白セルが入った場合、重複セルをカウントする時 エラーが表示され困っていました。 今後もよろしくお願い申し上げます。