來自粉絲的貢獻:工廠員工的用餐明細在表1中,現在需要在表2中輸入員工的工作編號,這樣表2中輸入指定員工編號的員工就餐表就可以自動在表3中帶出。
為了方便截圖,將三個表截圖到乙個工作頁面中,效果如下圖1所示
需求分析
當我第一次看到這個需求時,我以為這是乙個搜尋和引用需求,我可以直接用 xlookup 查詢它。 但仔細分解後發現,其實並沒有那麼簡單,因為資料在三個表上,每個表的功能都不一樣。
表1為基本資料,為員工用餐明細,表2為輸入條件,即此處只輸入員工編號。 自動生成表3,格式要求與表1完全相同。 如果直接使用 xlookup,則將缺少工作編號。
因此,需要改變思路,可以在本次更新中使用新的函式chooserow,而且邏輯也很簡單,先使用match來確定表1中這些作業編號的行數(位置),通過這些行就可以返回對應的行數。
邏輯樹如下圖 2 所示
確定行號
第一步是知道輸入的員工編號與表1中的行號相對應,確定位置的函式匹配可以解決這個問題
match(h4:h7,b4:b13,0)
功能定義:確定h4:h7(工作編號),在表1中,b4:b13的位置,引數0表示絕對匹配。 結果在第一行;
效果如下圖3所示
選擇行資料
通過match函式,可以知道輸入的作業編號的相對位置,可以配合chooserows函式返回指定區域的資料。 錄入功能:
j4=chooserows(b4:f13,match(h4:h7,b4:b13,0))
函式定義:B4:F13:這是乙個包含要選擇的行的資料範圍。 這是需要顯示的結果(表 3)。
match(h4:h7, b4:b13, 0):這部分是在上面的表 2 中輸入工作編號返回的位置
chooserows 函式:它根據給定的索引值選擇指定的行。 在此公式中,它將根據 match 函式返回的位置選擇相應的行。
綜上所述,此公式的功能是根據條件範圍 h4:h7 在查詢範圍 b4:b13 中查詢匹配項,並返回匹配項所在的行索引。 然後,使用 chooserows 函式選擇並提取資料範圍 B4:F13 中的相應行。
完成後,如下圖4所示
知識點:
查詢位置函式:match,返回陣列中以指定方式匹配指定項的元素的對應位置,引數:match(Find value, Find area, [match type];
返回指定的行函式:chooserows,該函式返回陣列或引用中的行引數:chooserows(array,行數為1......)
可以說,chooserows 和 choosecols 可以通過選擇行和選擇列,通過匹配功能輕鬆攔截和組織各種資料。
252 WPS 新功能示例:員工姓名和員工 ID 快速分離。
251 WPS新功能案例:快速對客戶進行排序和統計。
250 wps 新功能示例:快速對員工的生日進行分類和計數。
249 WPS新增函式示例:訂單的多條件統計。