You are currently viewing [數據分析#3] google sheet filter() 使用方法

[數據分析#3] google sheet filter() 使用方法

如果你在 Excel 或是 Google Sheet 很常用 SUMIFS()、COUNTIFS()、AVERAGEIFS(),這些公式來做「有條件的」計算統計,那對你來說或許已經很足夠了!不過我今天要來介紹一個也很好用的公式 FILTER(),簡單來說為什麼好用呢?

痛點:不是所以計算統計變量都有內建「有條件的」計算統計,只有比較常見的這幾個有:SUMIFS()、COUNTIFS()、AVERAGEIFS()

那其他的統計變量,比如說十分位數 PERCENTILE()、 或是我要做排序 RANK()、又或是我要做一些相關性的數據 CORREL(),如果我碰到要在「有條件的狀況下」求不同條件下的十分位數、排序,我該怎麼辦?

解決方式:用 FILTER() + 隨便一個統計函數公式來自己製造跟 SUMIFS()、COUNTIFS() 一樣的效果,看你要單一又或是多條件都可以!

講解:如何用 FILTER() 製作有條件的統計函數?

Step 1: 選擇你要統計的資料欄位,在 FILTER() 中加入條件

Filter() 函數會回傳一段經過篩選過後的數列,第一個參數要放的是預計回傳的範圍,第二個參數要放的是條件,也可以把更多的條件放在二、三、四等等。

FILTER(回傳的數列範圍, 條件1, [條件2,...])

  • 回傳的數列範圍 – 填入準備要篩選的資料
  • 條件1 – 輸入你想要的條件
  • 條件2... – [選用,不一定要填寫]
  • 注意事項:回傳的數列範圍必須與條件的引數長度完全一致

選擇你要統計的資料欄位,在 Google Sheet FILTER() 中加入條件

Step 2: 選擇要使用的統計函數

除了 SUMIFS()、COUNTIFS()、AVERAGEIFS(),很多好用的統計變數其實都沒有內建 IF() 的功能,因此我們要利用 FILTER() 中可以下單一或多條件的這個優點結合我們想要使用的統計函數,形成自創 統計量if(FILTER(回傳的數列範圍, 條件1, [條件2,...])) 的功能!

Step 3: 在統計函數中放入 FILTER() 後的數列

簡單來說,在所有的統計函數中,要 input 數列的那個地方放入由 FILTER(回傳的數列範圍, 條件1, [條件2,...]) 篩選過後的數據就沒問題了!

假設我今天想要看全班男生國文成績的中位數,我可以怎麼做?

MEDIAN(FILTER(回傳的數列範圍, 條件1, [條件2,...]))

在統計函數中放入 FILTER() 後的數列

# 推薦查找函數 VLOOKUP() – 搭配 FILTER() 使用處理複雜問題

大家可能都知道 VLOOKUP() 的好處,如果有一份客戶檔案,我可以利用 VLOOKUP() 去查找 A 客戶某些特定資料的值,但是如果今天的數列裡面 A 客戶在不同時間點有不同的身份或是消費,要怎麼單純利用 VLOOKUP() 去查找到「特定時間點」A 客戶的消費情況或是身份?

這時候就需要組合 VLOOKUP()  + FILTER() 來實現這個複雜一點的查找動作:VLOOKUP(查找值, 查找範圍, 查找結果行在查找範圍裡的第幾行, 0),查找範圍 請放入篩選後的資料範圍: FILTER(回傳的數列範圍, 條件1, [條件2,...]),變成 VLOOKUP(查找值, FILTER(回傳的數列範圍, 條件1, [條件2,...]), 查找結果行在查找範圍裡的第幾行, 0)

# 進階查找函數 MATCH+INDEX()

如果你已經知道 VLOOKUP(),那大部分的查找問題應該不難,只是 VLOOKUP() 或是相似函數常常會很麻煩,因為查找方向一定要往左查,不能往右查,所以今天要來推薦一個最好用的查找函數,打敗所有 VLOOKUP() 成為我最愛用的查找函數!

總結一句,查找行放在 MATCH() 中, 再把要找到的結果行和 MATCH() 行放進去 INDEX() 裡面:INDEX(查找後回傳的結果行, MATCH(查找值, 查找範圍, 0))

如果要結合 FILTER() + MATCH()/INDEX(),跟 VLOOKUP() 類似,把查找行和結果行都放入 FILTER() 就可以了!

# 推薦統計函數 PERCENTILE()

如果你想要看一串數列中的分佈,那我推薦你可以使用這個函數來看四分位數/百分位數,他會告訴你當這個數列由小排到大的時候,落在幾分位的數字是多少,你便可以看到大部分的人是集中在哪個區間?

有時候單純看平均數可能會失真,因為平均會因為極大值/極小值而影響他的數值,而百分位數可以看到每個數字區間分別有多少比例的人落在這裡,若跟平均數搭配著看會比較全面性。

▼ 待會下面的範例檔案會有示範:結合 PERCENTILE() + FIlTER()

PERCENTILE()+FILTER()

# 推薦統計函數 SUMPRODUCT()

如果你今天有品項價格跟銷售數字,你可能回想要用 (品項1*品項1銷售數字)+(品項2*品項2銷售數字)….. 以此類推來算出所有品項的業績數字,但是有了 SUMPRODUCT() 後,他可以幫你把這兩行數列乘起來,省去一個一個乗完再相加的步驟,是屬於 SUM() 的進階統計函數用法,這個函數在做處理比較繁複的流程的時候會很好用,因為你可以簡化你的計算流程,化簡為繁錯誤也會比較少!

DEMO: FILTER() + 統計函數 操作練習

實際操作 DEMO

請大家可以來我製作的 Google Sheet FILTER() 完整教學檔案 點我前往範例檔案,如果你想要複製一份出來自己練習,歡迎點擊「檔案」>「建立副本」,建立屬於自己的學習檔案並且練習喔!

▼ 示範數據和範例在範例檔案中可以找到


如果你想要更多練習:可以使用 範例數據 搭配 練習題 試著做做看喔!

總結

很多 Google Sheet 很好用的公式組合可以減少很多日常整理資料的時間,大部分都是 Excel 大全書本裡不會教,但是工作真正會用到的功能,如果你想學習更多 Google Sheet 的小技巧,歡迎定期來看我的分享

延伸閱讀1:資料分析 101 – Google Sheet Query 教學

延伸閱讀2:Google Sheet Arrayformula 5大超實用使用情境教學 (If, Sumif, Vlookup…)

【1 對 1 免費諮詢】數據分析師 0~1 培訓班陪你一路到轉職成功!

hi 我是 Lisa

你也是 0 經驗、沒有相關背景,但也想要轉職數據分析師,或運用數據分析,提升在領域的專業度嗎?

-

你是否也覺得,數據分析的網路學習資源很多,但是多到不知道從哪裡開始?

學了很多工具,但學完了,問題才真正開始,不知道業界怎麼使用?又該如何面臨工作跟面試?

-

我在 2019 年從營運專員的職位轉職到數據分析師

在這之後,因為數據分析,也讓我快速建構不同領域的知識:行銷、營運、商業策略、產品、網頁

轉職過程中,花了很多時間成本摸索

我發現,學數據分析最快的方式是:

  1. 確認自己跟市場需求之間的差距:訂定轉職策略及了解數據分析師的工作方式
  2. 以業界應用的角度學習工具:包括數據工具及分析用思維架構,並且如何高效運用
  3. 建立一個商業上的真實專案,並且得到回饋:打造屬於你及貼合職缺需求的作品集和專案
  4. 打造一個高效履歷跟面談:透過高價值包裝術拿下面試、成功獲得數據行業的門票

當初如果我有這套系統思維,應該可以在短時間內轉職,馬上拿到進入業界的門票

-

現在,我想把這套完整課程分享給你

這是專門為了 0 經驗、沒有相關背景的轉職者所設計

不需要去考研究所、不需要花大錢準備出國讀書

可以用最快的時間準備轉職、拿到門票!

-

如果你正在準備轉職數據分析師,且試圖找過解決辦法卻始終治標不治本!歡迎跟我預約免費 1 對 1 諮詢,我會在諮詢時,了解你的需求並且評估我是否可以協助到你!

電子書 職場人必學的數據分析術

Lisa Wu

Hi 大家好!我是喜歡探索身心靈健康及平衡的數據分析師 Lisa Wu!這個網站會幫助你:利用數據分析 (理性) 及 身心靈平衡 (感性) 的系統,去達成人生目標!如果你對我的人生系統工具有興趣,歡迎聯繫我:couplehonest@gmail.com