2013-01-18 181 views
0

我基本上尋找一個基於excel的公式,它可以查看單元格值,並用空格或「;」替換;#的所有實例。首先,我知道搜索替換功能,我知道宏可以做到這一點,挑戰是我不能使用這兩種方法中的任何一種。搜索excel 2003中的所有匹配模式,並替換

的數據顯示在下面的格式:

;#Business Mix;#Improve Productivity;# 
;#Distribution;#Improve Productivity;# 
;#Distribution;#Improve Productivity;# 
;#Risk Selection;#Business Mix;#Improve Productivity;# 
;#Risk Selection;#Business Mix;#Improve Productivity;# 
;#Risk Selection;#Business Mix;#Improve Productivity;# 
;#Distribution;#Improve Productivity;# 
;#Distribution;#Improve Productivity;# 
;#Distribution;#Improve Productivity;# 
;#Distribution;#Improve Productivity;# 
;#Distribution;#Improve Productivity;# 
;#Distribution;#Improve Productivity;# 
;#Distribution;#Improve Productivity;# 

我目前用下面的公式來的解決辦法,但並不完美:

=REPLACE(REPLACE(LEFT(REPLACE(VLOOKUP($D$2,all,3,FALSE),3,2,""),LEN(REPLACE(VLOOKUP(D2,all,3,FALSE),3,2,""))-2),FIND(";#",LEFT(REPLACE(VLOOKUP(D2,all,3,FALSE),3,2,""),LEN(REPLACE(VLOOKUP(D2,all,3,FALSE),3,2,""))-2),1),2,"; "),FIND(";#",REPLACE(LEFT(REPLACE(VLOOKUP(D2,all,3,FALSE),3,2,""),LEN(REPLACE(VLOOKUP(D2,all,3,FALSE),3,2,""))-2),FIND(";#",LEFT(REPLACE(VLOOKUP(D2,all,3,FALSE),3,2,""),LEN(REPLACE(VLOOKUP(D2,all,3,FALSE),3,2,""))-2),1),2,"; "),1),2,"; ") 

命名範圍

所有=

所以我們可以有一個項目

;#Business Mix;# 

;#Business Mix;#Improve Productivity;# 

或超過兩個或三個或四個。

最終結果應該只有文本被分隔;並且如果只有一個選擇,例如業務組合,如果應該沒有;。

任何幫助將不勝感激。

感謝

回答

0

使用Text to Columns#作爲分隔符。縫合列一起回來,說在D1,與= CONCATENATE(比如= E1 & F1 & G1 ...)複製下來,以適應,複製的結果,並在上面粘貼特殊值,添加

= IF (RIGHT(D1,1)=「;」,LEFT(D1,LEN(D1)-1),D1)

在備用列的行1中並複製以適合。全部複製並再次將特殊值粘貼到頂部。刪除多餘。