Excel帶條件過濾的不重複項計算

透過Countif()可以計算該數在一個範圍出現次數,假設一個數字a出現n次,倒數為1/n,該數的倒數總和為1/n*n=1,因此所有數字的倒數和加總就是不重複的數字共有幾項。

Excel範例

網路上的範例多到此為止,倘若今天想針對一個個體(如姓名)去做不重複項統計,就得針對範圍作過濾。

最難的部分是範圍是浮動的,而且範圍中數值也不能為空,反則會出現計數為零,倒數變成除零的錯誤。如果把值設定預設值填滿,就要在計算不重複數時扣除。

透過filter()去過濾,再Countif()的部分跳出錯誤,原因是先Filter可能會造成範圍不連續導致Countif()的Criteria無法對比,範例中是連續範圍。

換個思路,若以連續範圍為主,就要先以match()找到範圍上限下限,Indirect()框出目標範圍,然後再以Countif()如範例統計,面對缺值空項以Filter()去掉空項出現次數0,最後倒數,再總和,就能得到帶條件的不重複項。

完成版本

範例Excel下載連結

這種方法有個限制,需要有個連續排序,最後一個match()需要手動指定數值否則會跳error,不過都帶條件了,要做排序是很容易的。