文章總列表

EXCEL表格二維查詢公式

Excel易學難精,這篇要介紹一個我覺得很重要,但是微軟似乎沒有附上的功能


首先有一份資料表像下面這樣,這是每年證交所公布的上市公司收入排行。把區域選起來後,給表格取個名字。老是叫他B2:E7就遜掉了,命名以後,TBL就代表這張表



如果我們想知道"no1"的"中位數"是誰,微軟提供最接近的版本是vlookup,下面敘述能取出中位數,裡面的3代表第三個column;可惜過了三個月,我也忘記3是什麼鬼;甚至後面的FALSE我都忘了他的意思

    = VLOOKUP("no1", TBL, 3, FALSE)


經過一番研究,我能用OFFSET()取出表格第一列,再用MATCH()比對能算出3

    = MATCH("中位數", OFFSET(TBL, 0, 0, 1, COLUMNS(TBL)), 0)


和vlookup湊起來就自動化了,結果三個月過去,我完全看不懂自己在寫什麼鬼

    = VLOOKUP("no1", TBL, MATCH("中位數", OFFSET(TBL, 0, 0, 1, COLUMNS(TBL)), 0), FALSE)


後來我學了點VBA,按ALT+F11寫了以下一小段code



這次我能拿到漂亮的答案了。這次我有把握,三個月過去,我應該還看得懂
    = get_tbl(TBL, "no1", "中位數")

兩個版本


我不理解,這麼基本的功能,微軟竟然沒提供。如果有人知道請務必告訴我,試算表有VBA常會因為安全性不給開


留言

這個網誌中的熱門文章

STM32 UART + DMA,使用HAL實作TX/RX,以及不定長度接收

幼犬書桌椅選擇心得 升降桌 兒童桌椅

CANON G3000 廢墨瓶改裝