統(tǒng)計(jì)符合條件的另外一列的不重復(fù)單元格個(gè)數(shù),這個(gè)問題有三個(gè)關(guān)鍵點(diǎn) 1、符合條件 2、另外一列 3、不重復(fù) 先說說如何解決符合條件的問題。 這個(gè)比較簡(jiǎn)單,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 返回對(duì)應(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)))} 公式大括號(hào)括起來,證明編輯函數(shù)后是Ctrl+Shift+Enter鍵結(jié)束的,大括號(hào)是自動(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ù)值! 我們簡(jiǎn)化一下,改為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ù)對(duì)比,相等的就計(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)行判斷~ |
|