Board logo

標題: [發問] 傳回符合某字串的相應資料 [打印本頁]

作者: 198188    時間: 2013-10-2 17:25     標題: 傳回符合某字串的相應資料

223198        a        1        MMAU1002975/225175/0164800
222693        b        2        MNBU3303724/0168946/225113
222765        c        3        MNBU3312217/ML-PY0014147/771925/0159196
221491        d        4        MWCU5327856/MLPY0012388/0168382/030775
216914        e        5        PONU4507220/0168365/030771/ML-PY 0012384
222692        f        6        MWCU6080708/0168366/030773/ML-PY 0012386
220637        g        7        MNBU9023572/030768/0168367
222982        h        8        MWCU6805707/0168368/030772/ML-PY0012385
                       
                       
                       
請問不是用VBA, 如何設定公式輸入4507220, 就傳出216914 , e, 5
作者: kimbal    時間: 2013-10-2 18:53

本帖最後由 kimbal 於 2013-10-2 19:02 編輯
223198        a        1        MMAU1002975/225175/0164800
222693        b        2        MNBU3303724/0168946/225113
222765        c        3        MNBU3312217 ...
198188 發表於 2013-10-2 17:25


不嫌複雜的話可以用陣列公式
[attach]16222[/attach]


E1 輸入輸要的數字
E2: =OFFSET(A1,MAX(IF(NOT(ISERROR(SEARCH(E1,(D1:D8),1))),ROW(D1:D8),0))-1,0)
F2: =OFFSET(B1,MAX(IF(NOT(ISERROR(SEARCH(E1,(D1:D8),1))),ROW(D1:D8),0))-1,0)
G2:=OFFSET(C1,MAX(IF(NOT(ISERROR(SEARCH(E1,(D1:D8),1))),ROW(D1:D8),0))-1,0)
輸入公式時記得按CTRL+SHIFT+ENTER

(編輯:再"簡化"一點,
選上E2到G2, 輸入陣列公式 [也是要按CTRL+SHIFT+ENTER]
=OFFSET(A1,MAX(IF(NOT(ISERROR(SEARCH(E1,(D1:D8),1))),ROW(D1:D8),0))-1,COLUMN(A1:C1)-1)
[attach]16223[/attach]
作者: ANGELA    時間: 2013-10-2 22:59

=OFFSET(A1,LOOKUP(9^9,SEARCH($E1,($D$2:$D$9),1),ROW(D1:D8)),0)
作者: ML089    時間: 2013-10-4 22:17

A1:D8 資料區
E1 輸入輸要的數字
E2  =LOOKUP(,-FIND($E1,$D1:$D8),A1:A8)
右拉3格(公式一式完成)
作者: 198188    時間: 2013-10-11 18:47

回復 2# kimbal


    如果這個excel內含有VBA, 採用這個公式後,會導致VBA運行非常慢。請問有辦法解決嗎?




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