Board logo

標題: [發問] 請問如何使VLOOKUP搜尋值相同,但搜尋結果不同(已解決) [打印本頁]

作者: yeeki    時間: 2012-5-24 16:48     標題: 請問如何使VLOOKUP搜尋值相同,但搜尋結果不同(已解決)

本帖最後由 yeeki 於 2012-5-25 18:04 編輯

大家好,
我想用VLOOKUP把工作表「名單」中包括SMS類別欄內包括「am」的列資料顯示在工作表「AM-SMS」的工作表中……
但是我用VLOOKUP的話,所以列都只會顯示第一筆的am資料,請問我可以用甚麼方法使所有am資料都顯示出來……

這是「名單」的工作表
[attach]11124[/attach]

這是「AM-SMS」的工作表(我想要的結果)
[attach]11125[/attach]
作者: register313    時間: 2012-5-24 17:47

回復 1# yeeki

AM-SMS工作表
A2=INDEX(名單!A:A,SMALL(IF(名單!$A$2:$A$10000="AM",ROW($A$2:$A$10000),65536),ROW(A1)))&""    陣列公式
右拉下拉
作者: yeeki    時間: 2012-5-25 10:12

回復 2# register313


    感請您的回覆,
我在EXCEL中使用公式時,只有第1筆資料成功顯示出來,由第3列開始儲存格就顯示#NUM!
另外,如果我的SMS類別不是在A欄而是在E欄的話,是不是只要把「名單!A:A」和「名單!$A$2:$A$10000」改為「名單!E:E」和「名單!$E$2:$E$10000」就可以?

謝~
作者: register313    時間: 2012-5-25 10:20

回復 3# yeeki

AM-SMS工作表
A2=INDEX(名單!A:A,SMALL(IF(名單!$E$2:$E$10000="AM",ROW($A$2:$A$10000),65536),ROW(A1)))&""    陣列公式(輸好公式要按CTRL+SHIFT+ENTER而不是直接按ENTER)
右拉下拉
作者: yeeki    時間: 2012-5-25 16:23

回復  yeeki

AM-SMS工作表
A2=INDEX(名單!A:A,SMALL(IF(名單!$E$2E$10000="AM",ROW($A$2A$10000), ...
register313 發表於 2012-5-25 10:20



    您好,
問題已經解決,公式沒有問題了~
另外我想問SMALL(IF(名單!$E$2:$E$10000="AM",ROW($A$2:$A$10000),65536),ROW(A1)),中的「65536」是有甚麼作用呢?
謝~
作者: age54321    時間: 2012-7-9 21:20

請問A2=INDEX(名單!A:A,SMALL(IF(名單!$A$2:$A$10000="AM",ROW($A$2:$A$10000),65536),ROW(A1)))&""   
的公式要如何解讀
作者: ANGELA    時間: 2012-7-10 09:56

回復 6# age54321


    A2=INDEX(名單!A:A,SMALL(IF(名單!$A$2:$A$10000="AM",ROW($A$2:$A$10000),65536),ROW(A1)))&""   
最外層是INDEX函數中間是SMALL內層是IF理解起來應不難
一般較長的公式可在編輯列中由最內層公式用滑鼠反白後按F9再往外延伸可知公式如何作用
IF(名單!$A$2:$A$10000="AM",ROW($A$2:$A$10000),65536)
假如A2到A10000的值等於"AM"就給2:10000的值,否則給65536 (65536是A欄最後一個位置)
SMALL(IF(名單!$A$2:$A$10000="AM",ROW($A$2:$A$10000),65536),ROW(A1))
IF公式中所得到的陣列取第幾小的值(依ROW的位置決定取值)
作者: hugh0620    時間: 2012-7-10 10:13

樓主~ 其實用樞紐是不是更方便呢???
提供你另一種思維~




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)