A B
*A 1
**A 2
***B 3
****A 4
*****C 5
******D 6
來源資料如上,A欄為符號*+字母,B欄為數字,我利用Vlookup的公式想要找\"**** A\"-B欄的數值,基本上應該是4,但實際結果卻是出現1,猜想可能是因為符號*的關係,請問各位高手,有沒有辦法解決....或者有沒有其他方法在不變動來源資料的情況下抓出資料4......感恩啊
2006-04-14 19:42:57 · 4 個解答 · 發問者 明純 5 in 電腦與網際網路 ➔ 軟體
非常感謝a8350070及applerot兩位
想再請教一下applerot,在您的公式...=SUMPRODUCT(--(A1:A6=C1),B1:B6),--(A1:A6=C1)是什麼意思,--有特殊涵意嗎,可否用在其他公式??? 謝謝
2006-04-15 09:46:04 · update #1
我參考a8350070的公式,把公式修改為 =VLOOKUP(SUBSTITUTE(D1,"*","~*"),A:B,2,FALSE),也是可以得到我要的結果..(SUBSTITUTE 是將文字字串中的 old_text 部份以新字串 new_text 取代,因此我認為將字串中的*以~*取代,其他字串不變),請大家幫我看看還有什麼地方需要修正...謝謝
2006-04-16 10:44:29 · update #2
A B*A 1**A 2***B 3****A 4*****C 5******D 6=SUMPRODUCT(--(A1:A6=C1),B1:B6)C1=****A 則得4
2006-04-17 07:22:48 補充:
若B欄非數字格式公式改為=INDIRECT("B"&SUMPRODUCT(--(A1:A6=C1),ROW(B1:B6)))--(A1:A6=C1)只是邏輯(TRUN)轉變數值(1),可應用於條件判別上,經小弟測試剛好可用於此題目上,當然題目的不同就另有其解之道,若配合SUMPRODUCT,可成為多條件的應用(1*1*n),先覺條件(n)須為數值.
2006-04-14 20:21:22 · answer #1 · answered by 顯栓 7 · 0⤊ 0⤋
非常感謝a8350070.applerot及想飛...讓我穫益良多,又學到了一些
3Q
2006-04-22 19:56:01 · answer #2 · answered by 明純 5 · 0⤊ 0⤋
TO 小螃蟹
你可以參考下面這篇,在意見處有解釋到你的疑問
http://tw.knowledge.yahoo.com/question/?qid=1306041307365
2006-04-15 11:28:23 · answer #3 · answered by 飛 6 · 0⤊ 0⤋
假設D1儲存格: **** A
E1儲存格: =VLOOKUP(REPT("~*",LEN(D1)-1)&RIGHT(D1,1),A:B,2,0)
2006-04-15 00:25:04 補充:
假若 * 之後的字串長度不一的話如:**AB *ABC ***A E1儲存格: =VLOOKUP(REPT("~*",LEN(D1)-LEN(SUBSTITUTE(D1,"*","")))&RIGHT(D1,LEN(SUBSTITUTE(D1,"*",""))),A:B,2,0)
2006-04-15 00:31:27 補充:
若B欄是數值資料的話
採applerot兄的解法可算得是簡潔有力,佩服
但若B欄是字串資料的話將會返回0
2006-04-19 19:38:49 補充:
=INDIRECT("B"&SUMPRODUCT(--(A1:A6=C1),ROW(B1:B6)
謝謝applerot兄指導
獲益匪淺
2006-04-14 20:19:48 · answer #4 · answered by EH 5 · 0⤊ 0⤋