[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『データの種類数を数える』(たく)
文字列データが複数入った表があります。同じデータがいくつも重複しているのですが、データの種類数を数える関数はありますでしょうか。
< 使用 Excel:unknown、使用 OS:unknown >
例えばA2セルからA10セルにすべて値がある場合。 =SUMPRODUCT(1/COUNTIF(A2:A10,A2:A10)) ではどうか? (ねむねむ) 2019/02/06(水) 13:09
'表を選択した状態で実行 Dim c As Range For Each c In Selection ctr = ctr + 1 / WorksheetFunction.CountIf(Selection, c.Value) Next c MsgBox ctr & "種類" End Sub (mm) 2019/02/06(水) 13:13
範囲内に空白セルがある場合は =SUM(IFERROR(1/COUNTIF(A2:A10,A2:A10),"")) と入力してShiftキーとCtrlキーを押しながらEnterキーで式を確定(確定後、式が{}で囲まれればOK)で。 (ねむねむ) 2019/02/06(水) 13:16
COUNTIF(A2:A10,A2:A10) この式は COUNTIF(A2:A10,A2) COUNTIF(A2:A10,A3) COUNTIF(A2:A10,A4) 〜 COUNTIF(A2:A10,A10) の結果が配列となって得られる式となる。
(ねむねむ) 2019/02/06(水) 13:53
なので式はA列のデータの隣に =1/COUNTIF(A$2:A$10,A2) と入力して下へフィルコピーしたものを合計しているのと同じことになる。 でA列内で同じ文字列が2個ある物は1/2が2個、3個ある物は1/3が3個と同じ文字列のもの同士を足すと1になることでダブりなしの個数が求められている。 (ねむねむ) 2019/02/06(水) 13:58
なお、一般的な関数や数式では配列を扱えず配列を返す数式の中の一つの値しか扱えないため、配列を扱えるSUMPRODUCT関数を使うか Shift+Ctrl+Enterで通常の関数を配列計算できるようにしている。 (ねむねむ) 2019/02/06(水) 14:01
参考
https://bellcurve.jp/statistics/blog/15370.html
(もこな2) 2019/02/06(水) 14:21
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.