請問 ODF 應用工具有像 Office 365 一樣有 xlookup 的函式可以使用嗎?
發問內容
xlookup 可以回傳多欄及向左搜尋,請問 ODF 應用工具有這個功能嗎?
作業系統:Windows 11 64 bit
應用工具:ODF Application Tools 3.8.2
回覆內容
您好,
目前 ODF 應用工具並無支援 xlookup 函式,不過來信所提及的效果,可分別用 index、match 等現有的函式庫達到相同的結果,以下範例以一張名單為例,如要以名字為查詢條件,往左回傳對應的值,可以使用 index + match 的組合來達成精準回傳的結果,範例如下:

Match 函式可以在資料範圍中,傳回要查詢內容是在查詢範圍中第幾順位的數值,例如:要查詢「鄭中皇」是在第幾列,我們用以下的函數來處理:

其中,搜尋條件請指定 H3,搜尋範圍(查找陣列)則是 C$3:C$7,類型一律填 0,如上圖所示,會看到結果為 3,代表這個人名出現在資料範圍的第 3 個位置。
接下來,如果想要在 I3 欄位中,填入左邊對應位置的「座號」資訊,可以再搭配 index 函式,先將剛才的函式內容複製起來。

接下來把 I3 的內容清空,再呼叫函式精靈使用 index 函式,填入以下內容:

在上圖中,「參照」請選擇想要查詢並回傳值的資料範圍,本例為 B$3:B$7,而「列」請將剛才的 Match 函式貼上,此時可以看到傳回的座號為「3」。
接下來請在 H 欄位將要查詢資料的條件填入,I 欄位的資料用滑鼠左鍵向下拖曳複製,就會成功對應到實際的欄位內容。

如果您要傳回多欄位資料,可重覆重述動作,選擇不同欄位來傳回對應的值即可,結果如下(新增查詢建檔日期):

如果需要傳回當查詢不到條件對應的資料時需自訂訊息的話,可以使用 iferror 函式,一樣先將 index 函式的內容複製起來,並用 iferror 的函式精靈,範例如下:

其中「值」就是剛剛複製的函式 index 內容,「替代值」可填入您想要顯示的內容,請用 "" 括起來,否則會出錯,結果如下:

如此即完成對應的功能設定。