想不到 Google Sheets 試算表只要一個函式就完成了我要的結果,太滿意!

用資料驗證製做下拉式選單(來自某範圍),
選單變成標題列來挑選月份,程式自動篩選出該月授課老師
🎯首先,你需要有個總表

🎯接下來,新增一個月份的工作表,再把程式貼上去,再 G1 這個儲存格 輸入你要的月份 或是用公式 =RIGHT(A1, 2) 抓取標題的月份,這樣就完成囉!
再將下列程式複製貼到 月份工作表 A1 儲存格 中就可以了
=VSTACK({"代課教師","請假教師","假別","起訖日期","天數","備註","月份"},QUERY('總表'!A:G, "SELECT A, B, C, D, E, F, G WHERE G = '"&G1&"'", 0))

這個公式的作用是將「總表」工作表中的特定資料提取出來,並以表格形式呈現,表格的欄位標題為「代課教師」、「請假教師」、「假別」、「起訖日期」、「天數」、「備註」和「月份」。以下是對公式的詳細分解:
🎯公式分解:
-
VSTACK({"代課教師","請假教師","假別","起訖日期","天數","備註","月份"},QUERY('總表'!A:G, "SELECT A, B, C, D, E, F, G WHERE G = '"&G1&"'", 0))
:VSTACK
:這個函數的作用是將多個數組垂直堆疊成一個數組。在這裡,它將欄位標題的數組和查詢結果的數組垂直堆疊。{"代課教師","請假教師","假別","起訖日期","天數","備註","月份"}
:這是一個包含欄位標題的數組,將作為表格的第一行。QUERY('總表'!A:G, "SELECT A, B, C, D, E, F, G WHERE G = '"&G1&"'", 0)
:這個函數是對「總表」工作表進行查詢,並返回符合條件的資料。'總表'!A:G
:這是要查詢的資料範圍,表示「總表」工作表的 A 列到 G 列。"SELECT A, B, C, D, E, F, G WHERE G = '"&G1&"'"
:這是查詢字串,用於指定要查詢的欄位和條件。SELECT A, B, C, D, E, F, G
:表示要選擇 A 列到 G 列的所有資料。WHERE G = '"&G1&"'"
:表示查詢的條件,即 G 列的值等於儲存格 G1 中的值。&G1&
的作用是將儲存格 G1 中的值嵌入到查詢字串中。
0
:表示查詢結果不包含標題列。
🎯公式的功能:
- 該公式從「總表」工作表中,篩選出「月份」(G欄)與G1儲存格相同的所有代課資訊紀錄。
- 然後,它提取出每一條紀錄的「代課教師」、「請假教師」、「假別」、「起訖日期」、「天數」、「備註」和「月份」等七個欄位之值。
- 最後,這些被提取出來的資訊與表頭再透過VSTACK垂直堆疊,形成一個新的表格,顯示在目前使用的工作表中。
🎯使用情境:
此公式通常用於從大型資料表中提取特定月份的代課資訊,並以清晰的表格形式呈現,方便使用者查看和分析。G1儲存格通常會作為使用月份篩選器的資料欄位,方便隨時切換及查看特定月份的代課老師資訊。
快來試試吧~

沒有留言:
張貼留言
歡迎大家一起留言討論!