因此,我知道基於標題的大多數人可能都坐在那裏想知道我在說什麼。VBA嘗試將完整字符串與部分字符串進行匹配以查找相應的值
基本上,我有一個約30000個項目的列表,其中有300多個辦事處的辦公室代碼,我需要按地區分解它們。不幸的是,我遇到了一個實際查找它們的問題。
爲了讓你知道我在說什麼,這裏是一個我嘲笑的例子。公司名稱已經明顯改變,所有代碼都是隨機生成的。 http://i.imgur.com/C9LLTgs.png
我遇到的問題與這些名稱的格式有關。
所有的辦公室都是由公司名稱,然後是辦公室代碼,然後是一串字母/數字或甚至可識別其他事物的句子。
不幸的是,這些代碼高度不一致。我用vlookup和搜索函數來玩弄特定的整數,但由於數據的排列方式,結果並不可靠。許多辦公室代碼長度爲3個字符,有些則爲6個,有些甚至以破折號分隔(這不幸使我無法使用搜索,左側和查找的組合查找破折號)。
因此,我試圖弄清楚如何在VBA中創建一個函數來查看數據並找到辦公室列表中的最佳匹配項。
我真的希望有人在這裏能給我一個主意。我嘗試使用模糊查找,但不幸的是,它沒有返回任何我真正能夠使用的東西。
基本上,我試圖找出那些將根據可用辦公室列表搜索每一行並根據第一系列字符順序選擇最佳擬合的東西。
因此,IKEA-OEE-ZOPJSK不會與IKEA-ZOP-OEE相匹配,因爲它所查找的條目不是IKEA-OEE。
感謝您的任何和所有的建議!
嘿,什麼時候被聚合引入?還沒有使用它,它看起來非常有用,因爲我經常用數組公式來計算我的等價物a la {= sum(iferror(A1:A2,0))} –
要記住關於聚合的事情是,它是一個數組鍵入公式,因此所有相同的限制都適用,但它不需要CSE輸入。此外,只有少數選擇允許像上面那樣進行數組輸入。雖然你的總和例子可以工作:'= AGGREGATE(9,6,A1:A2)'AGGREGATE是在Excel 2010中引入的。 –
這很棒,幾乎完美無缺!我不知道有一個集合命令甚至存在(儘管如果我完全誠實的話,我不會想到像這樣使用它)。 最重要的是,這將工作,無需保存爲啓用宏的文檔,這將在無法啓用宏的某些公司計算機上工作時具有無法估量的價值。 再次感謝! – LostVBAGuy