스프레드 시트에서 고유 한 값 계산


84

다음과 같은 열이있는 Google 스프레드 시트가 있습니다.

City
----
London
Paris
London
Berlin
Rome
Paris

나는 각각의 다른 도시의 모습을 세고 싶습니다 (그래서 나는 도시 이름과 출현 횟수가 필요합니다).

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

어떻게하나요?


작업 예제를 만들 수 없었기 때문에 답변을 삭제했습니다. 내가 가진 조합 봐하도록하는 것이 좋습니다 IF()COUNTIF()
샤샤

답변:


103

작업 예제 링크

솔루션 0

이것은 피벗 테이블을 사용하여 수행 할 수 있습니다.

피벗 테이블 예-값으로 행 계산

해결 방법 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이기 때문에 두 번째 열을 제거하는 방법이 있다고 확신합니다. 제 생각에는 이상적인 솔루션이 아닙니다.

http://googledocsforlife.blogspot.com/2011/12/counting-unique-values-of-data-set.html을 통해

기타 유용한 링크


작동했습니다. 감사. 이미 두 번째 솔루션을 다른 세트와 함께 적용했지만 여기서는 생각하지 않았다는 것이 재밌습니다.
Marius Bancila 2013 년

솔루션 2 : 열 B를 비워두고 "sum"대신 "count"를 사용할 수 있습니다. = sort (transpose (query (A3 : B8, "Select count (B) pivot (A)")), 2, FALSE )
wivku 2014

...하지만 피벗 테이블을 어떻게 만듭니 까? 이 답변은 훌륭하고 상세 해 보이지만 dnlbrky의 더 간단한 답변은 저를 구한 것입니다. 여기에서 나는-보다 단순한 대안 ​​1 & 2 솔루션을 알아 차리지 못했다. :( 너무 나쁜
Balmipour

1
@Balmipour 데이터> 피벗 테이블> 스크린 샷을 복사합니다.
Joshua Dance

귀하의 의견을 듣고 여기로 돌아 왔습니다. 나는 "피벗 테이블"의 프랑스어가 "tableaux croisés dynamiques"라고 생각하지 않았습니다. 그날 좀 더 잘 검색 할 수 있었을 것 같지만, 적어도 메뉴 옵션이 "데이터"에 있다는 사실을 알면 찾을 수있었습니다.
Balmipour

25

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=0


이 기술은 잘 작동했으며 특정 경우에 적용하기가 더 쉬웠습니다. 그러나 이상하게도 계산되는 열에 둘 이상의 고유 한 숫자 값이 있으면 쿼리가 중단 된 것처럼 보였습니다 (즉, 아무것도 출력하지 않음). 그래도 숫자 값을 해당 문자열로 변환했을 때 작동했습니다.
Matt V.

@MattV. 계산되는 열에 고유 한 숫자 값을 추가하려고 시도했지만 쿼리가 제대로 작동했습니다. docs.google.com/spreadsheets/d/…
Mike Latch

다른 열에 레이블을 지정하려면 해당 정의를 정확하게 반복하십시오. 이 예에서 :label A 'City', count(A) 'Total'
Bryan Roach

21

=iferror(counta(unique(A1:A100))) A1에서 A100까지의 고유 셀 수를 계산합니다.


2
이 경우 iferror ()의 기능을 설명해 주시겠습니까? counta (unique (A1 : A100)) 내가 찾고 있던 결과를주었습니다.
Stew

10
OP는 고유 한 값의 개수를 요구하지 않았지만 원하는 경우 = COUNTUNIQUE (A : A)
wivku

6

사용자가 요청한 것이 아니라 고유 값을 계산하는 쉬운 방법 :

Google은 한 단계로 고유 한 값을 계산 하는 새로운 함수 를 도입했으며 이를 다른 수식의 입력으로 사용할 수 있습니다.

=COUNTUNIQUE(A1:B10)


1
1 개의 숫자 만 반환됩니다. 고유 값의 개수입니다. 그러나 OP는 각 고유 값을 계산하는 방법을 물었습니다.
Joshua Dance

3
@JoshuaDance 맞습니다.하지만 작전의 게시물은 "스프레드 시트의 고유 값 계산"이라고합니다. 이것은 나 에게이 정확한 질문에 대한 합법적 인 대답처럼 보입니다. "빈 셀"은 값으로 계산되지 않습니다.
Balmipour

1
괜찮 으시면 지금은 남겨 두겠습니다. 너무 많은 사용자가 이것이 잘못된 대답이라고 생각하지 않는 한 삭제하겠습니다. @Balmipour
루돌프 리얼

1
이것이 바로 내가 필요한 것입니다.
FellyTone84

6

이것은 예를 들어 다음 범위에서 고유 값의 개수를 원하는 경우에 작동합니다.

=counta(unique(B4:B21))

0

이것은 @JSuar의 솔루션 1과 유사합니다.

원래 도시 데이터가라는 명명 된 범위라고 가정합니다 dataCity. 새 시트에 다음을 입력합니다.

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

-3

= UNIQUE ({filter (Core! L8 : L27, isblank (Core! L8 : L27) = false), query (ArrayFormula (countif (Core! L8 : L27, Core! L8 : L27)), "Col1 < > 0 ")})

Core! L8 : L27 = 목록


내가 본 게시물에서 이것은 11/15/18 현재 가장 좋은 답변 인 것 같습니다. 투표를 PLZ
user3626588
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.