返回列表 上一主題 發帖

[發問] excel 模糊比對的問題

[發問] excel 模糊比對的問題

本帖最後由 oshi 於 2015-2-4 23:09 編輯

目前有一個檔案

目的:
C欄位的值,模糊比對B欄位。
如果找到類似的就在D欄位填入A欄位的值,如附圖

問題:
本來想要使用match("*"&C2&"*"....去收尋

但是會發生C欄位裡面的字串會比B欄位多
所以在判別的時候就會變成 " *DVDD12_LP2_3* "


希望各位大大能夠幫小弟解決這個問題>"<
感謝

回復 2# rouber590324


    rouber大您好~
剛剛試了一下你給得提示發現

他只會把第一個更新之後就沒反應了XDD

昨天沒有說明清楚,想到的時候已經不能編輯了

檔案裡面有很多(B/C欄)重複的名字,但B欄的名稱一定有相對應的A欄

B/C欄位長度不一樣Q_Q

而位置也不像是昨天提供的那麼整齊

可能會是

A1  bbbb PPPP
B2  CCC   bbbb
C3 bbbb  YYYY
                   QQQ


大概是這樣 ,不過還是很感謝R大幫我QQ

TOP

回復 4# rouber590324


    Dear R大

我有複製耶並且下拉喔~

結果就是顯示剛剛那樣...0.0

TOP

DEAR SIR
我只是寫  D2範例  你要用游標COPY公式至 D3-D65536啦
D3以後無公式當然無反應.

=IF(SUBST ...
rouber590324 發表於 2015-2-5 15:49



    Dear R大

另外有一個問題是~用SUBSTITUTE 不就只是把B欄的字串替換到C欄??

這樣跟我想要做的模糊比對好像不太一樣QQ

TOP

本帖最後由 oshi 於 2015-2-5 21:59 編輯

回復 7# Hsieh

模糊比對1.zip (18.16 KB)

因為涉及的保密的問題
所以我另外做了一份excel,不過大概的概念是一致的

如附檔~

Step1:比對B欄位跟D欄位的值 ,若有比對到相同值,則讓A欄位的值填入E欄位
Step2 :  如果都沒有找到E欄位填#not found,若有找到但是有多而無法填入值的儲存格填#TBD
Step3 : 模糊比對是否有類似name ,想要也讓E欄位可以填入值
目前就是卡在第三步

本來是有考慮過用vlookup的模糊收尋的功能,
但是就會遇到vlookup 遇到重複值只會填第一個值
這樣就不是我的目的了Q_Q


再麻煩Hsieh版主大大了

TOP

本帖最後由 oshi 於 2015-2-7 12:41 編輯
回復  oshi
無符合資料填入"#not found"
符合有1個以上則填入"#TBD"
僅1個符合則填入A欄對應值
是這樣 ...
Hsieh 發表於 2015-2-6 18:20




Hsieh板大~
我那天可能說明的不是很清楚QQ
大概是這樣~
原本的作法是
1.如果有1個符合填入A欄相對值
2.如果有多數符合,先依序填入A欄相對值,多餘的填入"#TBD"
3.如果沒有符合,填入"#not found"

目前想要再多加一個功能是
對於顯示#not found 的儲存格想要讓D欄模糊比對B欄的值
如果用vlookup的模糊比對只會找到第一項

剛剛使用您的式子
之後變成
1.如果有1個符合填入A欄相對值    =>被填0
2.如果有多數符合,先依序填入A欄相對值,多餘的填入"#TBD" =>全部填"#TBD"
3.如果沒有符合,填入"#not found" =>毫無反應Q_Q 還是填#not found

我用直接下拉的方式跟用ctrl+shift+enter的結果都是這樣Q_Q

不過可以請問一下Hsieh板大用這些公式的思緒是什麼嗎?我覺得好像接近我想要的方式了

感謝

TOP

模糊比對:
=CHOOSE(SUM(N(COUNTIF(B:B,"*"&D2&"*")>{0,1}))+1,"#not found",INDEX(A:A,MATCH("*"&D2&"*", ...
准提部林 發表於 2015-2-6 21:12



   
    准提部林大 我Test您的公式結果會有些原本填正確的值卻被填入#TBD
我猜測是因為您用"*"&D2&"* 導致有些類似的儲存格被判定錯誤

TOP

模糊比對:
=CHOOSE(SUM(N(COUNTIF(B:B,"*"&D2&"*")>{0,1}))+1,"#not found",INDEX(A:A,MATCH("*"&D2&"*", ...
准提部林 發表於 2015-2-6 21:12


准提部林大您用萬用字元去模糊收尋的方式我有試過
可是因為資料裡面有些時候是D2的字元較長

比方說是
我本來的意思是要讓AAA_1可以模糊對到 AAA

這樣d2收尋的時候  就會變成 *AAA_1*

AAA就被判定不是類似的字串Q_Q

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題