回覆列表
  • 1 # 山城故事多

    今天要介紹動態查詢考勤表的方法,效果如下:

    選擇不同的月份,就會生成不同月份的考勤表

    是不是覺得很“高階”,其實做法不併難。跟高頓君一起做吧。

    第1步:在B3單元格中設定下拉選單,顯示月份。(和工作表名稱一致)

    資料驗證(有效性) - 允許 - 序列,在文字框中輸入1月,2月,3月,4月,5月,6月,7月,8月 (英文逗號分隔)

    第2步:在單元格D4中設定公式並複製到其他單元格中

    考勤表的查詢最關鍵就是這個查詢公式:

    =INDIRECT($B$3&"!"&ADDRESS(ROW(D3),COLUMN(D3)))

    公式說明:

    ROW(D3),COLUMN(D3) :Row取得單元格所在行數,Column函式到得單元格所在列數。使用這兩個函式的目的是在公式複製時可以返回動態的行號和列數。

    ADDRESS:可以根據行號和列數返回單元格地址,如Address(3,3) 返回第3行第3列的地址$C$3

    ($B$3&"!"& :用單元格B3(工作表名稱)連線後面的地址,正好可以根據選取不同的工作表名稱,生成對應的工作表地址。如B3的值為1月,那麼會返回 1月!$D$3

    INDIRECT:用&連線成的引用地址只是字串,無法取得單元格的值,這時用indirect函式可以從字串地址中取得值。

    其實完成動態查詢就是 下拉選單 + Indirect公式,而難點在後者。這個查詢功能適合於所有型別表格,所以同學們一定要掌握這個Excel技能。

  • 中秋節和大豐收的關聯?
  • 我想開一個檯球室,想知道需要什麼手續?