如果妳要求至少四個字母相同,包括橫杠嗎?漢字該不該去掉?另外,有沒有可能四個字母相同的組合有很多,不是唯壹值?遇到這種情況我該怎麽辦?
公式會很復雜,不是每個人都能做到。不管是公式還是代碼,我都能做,但不是免費的。這個有點復雜。這需要大量的精力和時間。原始表單需要發送到待辦事項。可以私了。
當然,如果妳堅持自己做,我可以給妳壹些思路。因為VLOOKUP和MATCH函數的第壹個參數支持通配符,所以它們不支持數組。所以這兩個功能應該排除。因為如果妳要求至少檢查最後四個字母,那麽漢字就要去掉。如果漢字都在末尾,很容易說可以用midb函數解決。如果位置不確定,需要最新版本的excel,支持textjoin功能。如果妳能把漢字包括進去,把後四個漢字算進去,那麽這壹步可以忽略。然後使用mid函數拆分數據。拆分規則是每個字符開頭要拆分,每組四個字符長。壹直到倒數第四個開頭的位置。可以使用透鏡和間接函數。然後用同樣的方法拆分要檢查的數組,用row函數對應對應的行號。拆分後,將所有對應的行號和拆分數據轉置進行交叉校驗,然後進行數組交叉校驗。壹旦有匹配,就返回相應的行號。最後求最小行數和最大行數,然後返回對應行的對應位置。這個公式太復雜了,我現在腦子裏只能有個大概,寫起來會很麻煩。所以會消耗大量的精力和時間,只有數據量大才值得寫。
用VBA碼可能更容易實現。因為函數公式數組處理會很麻煩。然後用VBA,妳可以把數據分成數組,並把它們寫入字典。然後用字典檢查,然後返回對應的數組或者字典的對應值。這是VBA的想法。當然,VBA很容易實現,但是需要花費大量的精力和時間來編寫代碼和測試。可能比寫公式花的時間還多。但也不會那麽難。而且寫代碼需要vba編程基礎,所以如果妳了解VBA編程基礎,可以考慮這個思路。
簡而言之,批處理肯定是有辦法的,但是這裏需要妳有清晰的邏輯。比如遇到兩個不同的行,都是四個字以上的,怎麽辦?標準是誰的等等。,這些邏輯只有溝通清楚後才能做到。
最後,如果數據量不大,建議手動處理。如果數據量很大,會耗費妳更多的時間和精力。比如做這件事可能要十幾個小時甚至幾十個小時,或者妳以後會經常處理這樣的事情。建議使用VBA。畢竟代碼可以在幾分鐘甚至幾秒鐘內運行。雖然很難寫,但是很耗費精力。
如果處理有時候不壹樣,但是壹般規律是壹樣的,壹次數據量不是很大,但是經常處理,可以考慮學習公式。畢竟公式更靈活。但是需要壹點公式函數基礎。這樣更容易理解。
如有疑問,請繼續提問或私信。歡迎關註。
對了,如果實在不行,可以用輔助柱,用mid拆分,可能普通人更容易實現。