- 締切済み
エクセルの関数を教えてください
エクセルで範囲内で値もしくは文字列が入っているセルの数を数えたいのですが同じ値、文字列が同じである時はカウントしないようにしたいのですがどのような関数を使えばいいか教えてください。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- MackyNo1
- ベストアンサー率53% (1521/2850)
>今作っている表だとC4~AX4で種類の数を調べたいです。 その場合は以下の数式になります。 =COUNT(INDEX(1/(MATCH(C4:AX4,C4:AX4,0)=COLUMN(C4:AX4)-2),))
- keithin
- ベストアンサー率66% (5278/7941)
- MackyNo1
- ベストアンサー率53% (1521/2850)
ご希望の操作をするには、配列を利用した数式を使用する必要がありますが、配列計算をする回数が増えたり、データ範囲が大きくなると再計算に時間がかかりシートの動きが重くなります。 比較的計算負荷の少ない配列数式は以下のような数式になります。 =COUNT(INDEX(1/(MATCH(A2:A10000,A2:A10000,0)=ROW(A2:A10000)-1),)) 上記の数式はA2セル以下にデータが入力されているケースの式ですが、A3セルからデータが入っているなら、数式の「-1」の部分を「-2」(データが入力されている行番号から1引いた数字)に変更してください。
- keithin
- ベストアンサー率66% (5278/7941)
たとえばセル範囲「A1:D10」の中にある種類の数を数えるには、 =SUM(IF(COUNTIF(A1:D10,A1:D10)=0,0,1/COUNTIF(A1:D10,A1:D10))) と記入して、必ずコントロールキーとシフトキーを押しながらEnterで入力します。 #参考 「範囲内」って具体的にどういう範囲なのかによって、数式の書き振り(簡単になったりメンドクサイ数式になったり)とか変わります。 手抜きせず、「実際にこういう具合のエクセルでこういう結果を計算したい」と、丁寧にご相談を書くよう心がけてみてください。次回以降のご参考に。
補足
回答ありがとうございます。 1行毎に計算していきたいです。 今作っている表だとC4~AX4で種類の数を調べたいです。 教えていただいた式をC4とAX4に置き換えてみましたがうまく動きませんでした。