Excel表格如何多條件不重複計數
前幾天工作中有一個小夥伴問到了一個問題,是關於多條件不重複計數的問題,小必給大家分享三種方法,依次是透視表、公式函式、Excel Power Query以及SQL的方法。
給大家上一下資料來源,如下圖所示:
對每個年月對應的編碼進行不重複計數。結果如下圖所示:
方法1:資料透視表
Step-01:選擇資料來源區域A1:C27,單擊【插入】-【資料透視表】,在彈出的對話方塊中選擇存放的位置,然後勾選【將此資料新增到資料模型】,最後單擊【確定】。如下圖所示:
Step-02:在透視表欄位列表佈局中,將“年”與“月”拖放至【行欄位】,將“編碼”拖放至【值】,然後右鍵單擊【行】中的“編碼”欄位,然後在彈出的對話方塊中選擇【非重複計數】。如下圖所示:
Step-03:設定透視表佈局。最後結果如下圖所示:
方法2:公式函式法
在G2單元格中輸入公式:
=SUMPRODUCT(((E2=$A$2:$A$27)*(F2=$B$2:$B$27))/COUNTIFS($A$2:$A$27,$A$2:$A$27,$B$2:$B$27,$B$2:$B$27,$C$2:$C$27,$C$2:$C$27)),然後按Enter鍵完成下拉。
對於上面的公式,有興趣的小夥伴可以按F9或者公式求值一步步去拆解其原理,這裡限於篇幅,再做過多的解釋。
方法3:Excel Power Query
Step-01:選擇資料區域,單擊【資料】-【從表格/區域】,在彈出的對話方塊中選擇【確定】。如下圖所示:
Step-02:在Power Qeury編輯器介面中先刪除步驟【更改的型別】,然後同時選擇"年"與“月”兩列,然後單擊【分組依據】,在彈出的對話方塊中輸入【新列名】,【操作】為【非重複計數】,如下圖所示:
或者直接在公式編輯欄中輸入公式:
= Table.Group(源, {"年", "月"},
{
{
"編碼不重複計數",
each Table.RowCount( Table.Distinct(_))
}
}
)
Step-03:然後資料載入至工作表中,如下操作:
方法4:在Excel中使用SQL
Step-01:選擇【資料】-【現有連結】,在彈出的對話方塊中選擇【瀏覽更多】,找到當前工作簿的位置,單擊【開啟】,選擇要操作的工作表。如下圖所示:
Step-02:在彈出的對話方塊中選擇【屬性】,再次在開啟的對話方塊中選擇【定義】,如下圖所示:
Step-03:在彈出的對話方塊中的【命令文字】文字框中輸入SQL程式碼,如下圖所示:
select distinct 年,月,count(*) as 不重複編碼計數from (select distinct 年,月,編碼from[Sheet1$]) as agroup by 年,月
Step-04:最後單擊【確定】後即可。結果如下圖所示: