Excel에서 중복되지 않는 고유 수를 계산합니다 (SQL의 DISTINCT를 Excel의 COUNTIF 함수로 표현)

2704 단어 SQLExcel
단순한 카운트라면 간단합니다만, Excel에서 고유의 수를 피벗 테이블을 사용해 조사하고 싶을 때가 있습니다.

※유니크수란, 중복하지 않는 카운트입니다. 포켓몬을 1000마리 붙잡아도, 도감은 151마리로 나오지 않습니까(초대 GB 적록의 이야기) 그런 "종류"의 카운트입니다.

고유 수의 의미



예를 들어 판매 항목과 같은 데이터가 있으며,
  • ① 상품별로 팔린 "개수"집계
  • ② 상품별로 구입한 사람의 "독특한 인원수"집계

  • 추출하십시오, 같은 직업이 있습니다.

    ①은 팔린 수량의 단순한 합계. ②의 독특한 인원은 동일한 고객이 동일한 상품 A를 3회 사고 있었다고 해도 상품 A의 구매자 수를 1로 세는 것.

    (독특한 수를 살펴보면 얼마나 많은 고객에게 인기가 있는지 알 수 있습니다.

    1명이 10개 정리 구입한 경우와, 10명이 1개씩 사 갔을 경우와는, 「10개 팔린」결과는 같습니다만, 인기도는 다릅니다.

    그 값이 다음의 상품 구매나 조달로 참고가 되거나… 그런 사용법. )

    SQL에서 고유 수를 집계



    이런 판매 품목이 있다고 가정합니다.

    PRODUCT_ID "0000001"의 단순한 "구매자 수"는 5이지만,
    CUSTOMER_ID를 자세히 살펴보면 '100010', '100020', '100030'의 3명이 구매했기 때문에 '구매자 고유 수'는 3입니다.



    SQL에서 고유 수 집계
    SELECT
        PRODUCT_ID,
        SUM(QUANTITY), --①個数
        COUNT(DISTINCT CUSTOMER_ID) --②ユニーク人数
    FROM
        URIAGE_MEISAI
    GROUP BY
        PRODUCT_ID
    

    Excel에서 고유 수를 집계



    SQL이라면 초입니다만, Excel에서는 조금 궁리합니다. 작업열(열명:NUM)을 만들고 집계하고 싶은 열(CUSTOMER_ID)에 COUNTIF한 역수를 넣고 자동으로 아래까지 입력.



    Excel에서 고유 수 집계
    =1/COUNTIF(F$2:F$11,F2)
    

    그러면 이렇게 됩니다.



    그리고는, 행에 「PRODUCT_ID」・값에 「합계/NUM」 「합계/QUANTITY」를 넣어, 피벗 합니다.



    다른 방법이 생각나지 않았기 때문에 이제 SQL 결과와 비교하여 테스트하고 있습니다. 더 좋은 방법 있으면 부드럽게 가르쳐…

    좋은 웹페이지 즐겨찾기