2025年4月1日 星期二

教學組提早下班系列 - 代課老師日薪試算表

想不到 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儲存格通常會作為使用月份篩選器的資料欄位,方便隨時切換及查看特定月份的代課老師資訊。


快來試試吧~




沒有留言:

張貼留言

歡迎大家一起留言討論!