[[20230908092206]] 『一列中にある文字列の種類をカウントする関数』(さち子) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『一列中にある文字列の種類をカウントする関数』(さち子)

=SUMPRODUCT(1/COUNTIF($A$1:$A$20,$A$1:$A$20))
A1からA20の行に何種類かの文字列が入っており、種類の数をカウントしますが、空白セルがありますのでDIV/0のエラーが出ます。
このエラ-を回避するには、どの様にしたらよいのでしょうか?

教えていただきたいのですがよろしくお願いします。

< 使用 Excel:Excel2019、使用 OS:Windows10 >


 =SUMPRODUCT(1/COUNTIF($A$1:$A$20,$A$1:$A$20&""))
 とか?
(白茶) 2023/09/08(金) 09:55:02

 UNIQUE 関数は使えないという前提で・・・

 飛び飛びで入力するってこと?
 それとも、1行目から順に詰めて入力するが、まだ途中までしか入力していないので
 20行目までの間に空白があるってこと?

 後者なら範囲をテーブルに変換すればいいでしょう。

 >=SUMPRODUCT(1/COUNTIF($A$1:$A$20,$A$1:$A$20&""))
 これだと空白も 1件としてカウントしませんか?

 以上、確認だけ
(笑) 2023/09/08(金) 10:12:12

 こんな?
 =ROUND(SUMPRODUCT(IFERROR(1/COUNTIF($A$1:$A$20,$A$1:$A$20),0)),0)
(まる2021) 2023/09/08(金) 10:41:37

またはこんな?

=SUMPRODUCT(($A$1:$A$20<>"")/COUNTIF($A$1:$A$20,$A$1:$A$20&""))
(トルネコ) 2023/09/08(金) 10:54:15


 範囲が20行ぐらいならわかりませんけど
 もう少し広い場合、SUMPRODUCTとCOUNTIFだったら誤差が発生する可能性がありますね。

 数式で空白にしていないのなら
 =COUNT(INDEX(1/(MATCH(A1:A20,A1:A20,0)=ROW(A1:A20)),0))

 ※入力開始を2行目以降に変更しても ROW は「A1」からにしておくこと

 ところで何のために絶対参照にしてるんですかね?
(笑) 2023/09/08(金) 11:24:01

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.