在excel 2003中搜索所有匹配的模式并替换

时间:2013-01-18 21:26:10

标签: excel-2003

我基本上在寻找一个基于excel的公式,它可以查看单元格值并用空格或“;”替换#的所有实例。首先,我知道搜索替换功能,我知道宏可以做到这一点,挑战在于我不能使用这两种方法中的任何一种。

数据以下列格式显示:

;#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,"; ")

all =命名范围

所以我们可以有一个项目

;#Business Mix;#

;#Business Mix;#Improve Productivity;#

或超过两个,三个或四个。

最终结果应该只有文本分隔;如果只有一个选择,例如业务组合,如果应该没有;。

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

使用Text to Columns#作为分隔符。将列重新拼接在一起,比如在D1中,将= CONCATENATE(说= E1& F1& G1 ...)向下复制以适应,复制结果并在顶部粘贴特殊值,添加

  

= IF(右(D1,1)=“;”,左(D1,LEN(D1)-1),D1)

在备用列的Row1中并复制以适应。再次复制全部并将特殊值粘贴到顶部。删除多余的。