統(tǒng)計(jì)符合條件的另外一列的不重復(fù)單元格個(gè)數(shù),這個(gè)問題有三個(gè)關(guān)鍵點(diǎn)
1、符合條件
2、另外一列
3、不重復(fù)
先說說如何解決符合條件的問題。
這個(gè)比較簡單,Countif函數(shù)可以完美搞定~
=COUNTIF(B1:B9,D2)
=COUNTIF(判斷的列,判斷條件)
好吧~感覺幫助不大,這個(gè)函數(shù)解決不了問題哇!
這個(gè)問題的關(guān)鍵是什么呢?是解決如何統(tǒng)計(jì)非重復(fù)值的問題!
原文中此處為鏈接,暫不支持采集
建議在閱讀下面的文字前,先點(diǎn)擊上面那一行鏈接,先看看那篇文章的第一部分~
上面的文章介紹了兩種統(tǒng)計(jì)非重復(fù)值的思路,我們接下來分享其中的一種!
我們?nèi)绾蝸斫y(tǒng)計(jì)A列的非重復(fù)單元格個(gè)數(shù)呢?
C列使用的是:
match函數(shù)(找什么,在哪里找,0)
返回第一個(gè)參數(shù)在第二個(gè)參數(shù)中首次出現(xiàn)的位數(shù)
當(dāng)A列中數(shù)據(jù)重復(fù)的時(shí)候,返回的值是相同的~
D列使用的是Row函數(shù)(單元格)
返回單元格所在的行數(shù),由1到9 返回對應(yīng)的值。
如果A列中的值第一次出現(xiàn)的時(shí)候則C列與D列值相等,反之不等
所以我們統(tǒng)計(jì)C列與D列相等的單元格個(gè)數(shù)就可以知道A列的非重復(fù)值數(shù)量
公式:
{=SUM(--(MATCH(A1:A9,A1:A9,0)=ROW(A1:A9)))}
公式大括號括起來,證明編輯函數(shù)后是Ctrl+Shift+Enter鍵結(jié)束的,大括號是自動(dòng)生成的,不是手動(dòng)輸入的哦!
N1:MATCH(A1:A9,A1:A9,0)
返回值:{1;1;3;4;5;6;7;7;9}
返回A列中在A列第一次出現(xiàn)的位數(shù)
N2:ROW(A1:A9)
返回值:{1;2;3;4;5;6;7;8;9}
返回A列每個(gè)單元格的行數(shù)
N3:=連接兩個(gè)函數(shù)
{TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE}
如果相等為True反之為Flase
N4:-- 將邏輯值變?yōu)閿?shù)值
{1;0;1;1;1;1;1;0;1}
N5:sum進(jìn)行匯總求和
得出計(jì)算結(jié)果 7
好啦!今天就這樣啦~
原問題是解決一列符合某個(gè)條件另外一列的非重復(fù)值!
我們簡化一下,改為B列等于山東的,A列非重復(fù)值。
那我們思考一下,現(xiàn)在變成B列需要判斷,求A列非重復(fù)值。
那我們先創(chuàng)建一個(gè)輔助列,C列等于A與B列連接在一起。
然后創(chuàng)建個(gè)輔助列D,用A列與文本“山東”連接在一起
假如我們用D列的每個(gè)值求在C列中出現(xiàn)的位置會(huì)怎樣?
發(fā)現(xiàn)如果B列復(fù)合山東這個(gè)條件的有返回值,反之返回#N/A
那我們優(yōu)化一下函數(shù),如果沒有查到,我們讓他返回0
外面嵌套一個(gè)iferror函數(shù)即可,這樣如果沒有就返回0。
此時(shí)如果拿這個(gè)函數(shù)和Row函數(shù)對比,相等的就計(jì)數(shù)。
是否和剛剛的某一列求不重復(fù)個(gè)數(shù)值就一樣了?
{=SUM(--(IFERROR(MATCH(D1:D9,C1:C9,0),0)=ROW(A1:A9)))}
但是我們使用了C列、D列兩個(gè)輔助列
C列是怎么來的?是A列&B列
D列呢? 是A列&'山東'
所以我們將C列、D列替換一下
最終版公式:
{=SUM(--(IFERROR(MATCH(A1:A9&'山東',A1:A9&B1:B9,0),0)=ROW(A1:A9)))}
歡迎觀看這個(gè)藝術(shù)品~
如果你理解了某個(gè)列的非重復(fù)值統(tǒng)計(jì)邏輯,加上判斷其實(shí)就是將兩列合并在一起,兩列當(dāng)做一列進(jìn)行判斷~
聯(lián)系客服