2024-08-19|閱讀時間 ‧ 約 6 分鐘

Excel 解鎖 - 特定條件的訂單

在上一篇Excel 解鎖 - 有多少不重複訂單,我們使用UNIQUE公式回傳不重複訂單和只出現過一次的訂單,本篇我們會繼續使用Tableau的 Superstores 裡的Orders工作表來介紹如何篩選出我們要的數據。

raw-image


Segment = "Consumer"的訂單細節

一般遇到這種篩選問題,我們會選擇"手動篩選",去Editor Tab裡找到Sort & Filter裡的Filter,並在欄位上的箭頭點選自己想要的數值。



我們也可以使用Filter公式直接做到這點,並搭配一些技巧和其他公式達到一樣的效果。

FILTER(要篩選的陣列或範圍,符合的條件,[如果空值(篩選沒有傳回任何項目)要傳回的值])

根據問題本身,我們開一個新的工作表,在A2打上以下公式:

  1. 要篩選的陣列或範圍: Orders工作表所有範圍
  2. 符合的條件: H欄位(Segment) = "Consumer"
= FILTER(Orders!A3:U9996,Orders!H3:H9996 = "Consumer")


我們可以與"手動篩選"比較,發現皆是回傳5191列,營業額(Sales,R欄位) = $1,161,401.34。

加上一條條件

如果想撈出Segment = ConsumerShip Mode (E欄位) = Second Class 的訂單細節和營業額,我們可以在Filter裡的第二個引數裡加上 *,意味是結果須符合第一個條件且符合第二個條件。

= FILTER(Orders!A3:U9996,(Orders!H3:H9996 = "Consumer") * (Orders!E3:E9996 = "Second Class"))


我們可以與"手動篩選"比較,發現皆是回傳1020列,營業額(Sales,R欄位) = $231,236.99。

條件1""條件2

如果想撈出 Segment = ConsumerShip Mode (E欄位) = Second Class 的訂單細節和營業額,我們可以在Filter裡的第二個引數裡改成 +,意味是結果須符合第一個條件或符合第二個條件。

= FILTER(Orders!A3:U9996,(Orders!H3:H9996 = "Consumer") + (Orders!E3:E9996 = "Second Class"))


此結果回傳6116列,營業額(Sales,R欄位) = $1,388,834.00。


動態篩選

我們可以使用資料驗證(Data Validation)的功能於A1產生一個下拉式清單,讓使用者選擇要篩選Segment裡的數值(Consumer/ Corporate/ Home Office) ,就能搭配Filter公式實現動態篩選。

= FILTER(Orders!A3:U9996,(Orders!H3:H9996=A1))



Table

若你覺得公式不好用閱讀,欄位不好辨認,可以在插入(Insert)裡將主表轉成Excel的Table,並在Table Design裡將其命名為OrderTable,如此就能使用資料表名稱、欄位名稱於公式中,非常清楚。

= FILTER(OrderTable, OrderTable[Segment] = A1)



謝謝您花時間將此篇文章讀完,若覺得對您有幫助可以幫忙按個讚、分享來或是珍藏喔!

我們會持續推出更多以實用情境為主的教學,讓你知道為什麼要學這些技巧,這些技巧能在職場和工作幫上您什麼忙。也歡迎Follow我的Threads,持續都會有這類商業分析問題討論和生產力提升的點子喔!

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.