表格統計人名出現次數並自動排序(如何在表格中統計出不同人員資料)
你是否遇到過下面這種表格:
一個單元格記憶體在多個人名,人名之間用頓號分隔,需要算出總人數(我這裡是舉例只有一行資料,一般出現這種不會只有這麼點)
先來看屌絲青年的做法:
在A3單元格寫公式:=SUBSTITUTE(A2,"、","")
在A4單元格寫公式:=IF(A2<>"",LEN(A2)-LEN(A3) 1,"")
因為人名之間是用頓號分隔的
所以在第三行先替換掉"、"
然後在第四行計算有頓號和沒有頓號的差值然後 1
得出這個單元格對應的第二行的單元格內有多少個人最後拉一下總人數填上去
注:if在這裡起的作用是判斷第二行的資料是否為空如果不為空就進行差值相減,但如果為空當前單元格也為空,如果此處沒有if判斷,這種寫法就會出錯,不信你試試
再來看普通青年的做法:
在A3單元格寫入公式:
=IF(A2="","",LEN(A2)-LEN(SUBSTITUTE(A2,"、","")) 1)
他是把屌絲青年的兩步整合成了一步,運算方法是一樣的就不再敘述了
再來看天才少年的操作:
直接在總人數單元格寫公式:
=SUM(N(MID(A2:F2,ROW(1:99),1)="、")) COUNTA(A2:F2)
陣列公式,三鍵結束
這裡的mid會將A2:F2單元格依次分別拆分成包含99個元素的陣列,無內容記為空
這個在上篇已經講過,沒看過上篇的戳下面連結檢視
快速搞定字串提取2-中間提取英文、數字
說一下這個N函式:
將不是數值的值轉換為數值,邏輯值TRUE記為1,其他記為0
在這裡的作用是對mid拆分出來的元素進行判斷是否等於"、"如果是頓號那麼就是TRUE,記為1,如果不是就是0
那麼一共有多少個頓號都在N的陣列裡面了,只需要用sum彙總N的所有值,就得出來有多少個頓號了
但是還有個問題,像B2單元格沒有頓號那N肯定把它記為0了
還有像A2單元格雖然只有2個頓號但是人名實際有3個,那這一步怎麼辦呢?
COUNTA解決的就是這個問題,因為實際人名數總比符號多1個,只需要用COUNTA統計這一行非空單元格一共有多少個就OK了