web-dev-qa-db-ja.com

スプレッドシートの個別の値をカウントする

次のような列を持つGoogleスプレッドシートがあります。

City
----
London
Paris
London
Berlin
Rome
Paris

それぞれの異なる都市の出現回数をカウントしたいので(都市名と出現回数が必要です)。

City   | Count
-------+------
London |  2
Paris  |  2
Berlin |  1
Rome   |  1

それ、どうやったら出来るの?

66
Marius Bancila

実施例へのリンク

ソリューション0

これは、ピボットテーブルを使用して実現できます。

Pivot table Example - Count rows by value

ソリューション1

unique式を使用して、すべての個別の値を取得します。次に、countifを使用して、各値のカウントを取得します。これがどのように実装されているかを正確に確認するには、上部の作業例のリンクを参照してください。

Unique Values        Count
=UNIQUE(A3:A8)       =COUNTIF(A3:A8,B3)
                     =COUNTIF(A3:A8,B4)
                     ...

ソリューション2

データをそのように設定する場合:

City    
----    
London   1
Paris    1
London   1
Berlin   1
Rome     1
Paris    1

その後、次のようにして目的の結果が得られます。

=sort(transpose(query(A3:B8,"Select sum(B) pivot (A)")),2,FALSE)

すべての値が1になるため、2番目の列を削除する方法があると確信しています。私の意見では理想的な解決策ではありません。

http://googledocsforlife.blogspot.com/2011/12/counting-unique-values-of-data-set.html 経由

その他の役立つリンク

82
JSuar

=iferror(counta(unique(A1:A100)))は、A1からA100までの一意のセルの数をカウントします

18
d-_-b

query関数を使用できます。したがって、データが列Aにあり、最初の行が列タイトルである場合...

=query(A2:A,"select A, count(A) where A != '' group by A order by count(A) desc label A 'City'", 0)

利回り

City    count 
London  2
Paris   2
Berlin  1
Rome    1

動作中のGoogleスプレッドシートへのリンク。

https://docs.google.com/spreadsheets/d/1N5xw8-YP2GEPYOaRkX8iRA6DoeRXI86OkfuYxwXUCbc/edit#gid=

10
Mike Latch

ユーザーが求めたものと正確には一致しませんが、一意の値を数えるだけの簡単な方法:

Googleは 新しい関数 を導入して、たった1つのステップで一意の値をカウントします。これを他の数式の入力として使用できます。

=COUNTUNIQUE(A1:B10)

3
Fabricio PH

これは、一意の値のカウントが必要な場合にのみ機能します。次の範囲

=counta(unique(B4:B21))
1
Paul

これは、@ JSuarのソリューション1に似ています...

元の都市データがdataCityという名前の範囲であると仮定します。新しいシートで、次を入力します。

    A                 | B
  ----------------------------------------------------------
1 | =UNIQUE(dataCity) | Count
2 |                   | =DCOUNTA(dataCity,"City",{"City";$A2})
3 |                   | [copy down the formula above]
4 |                   | ...
5 |                   | ...
0
dnlbrky