如何在excel中提取单元格中某字段、和替换

来源:百度知道 编辑:UC知道 时间:2024/05/10 20:07:54
形式为
A1单元格:榕城(G508-4PD2T-37E)美国(G500-5PQ1-39E)福州(G10-4S10E)南京(G571-1S24E)江苏

问题一

提取第一括号内容放于B1:G508-4PD2T-37E
提取最后括号内容放于C1:G571-1S24E

问题二
把括号和括号内的内容替换为逗号“,” 结果为:榕城,美国,福州,南京,江苏

注意单元格A1中的内容长短不一,象:小营(G502-35E)南京(G08-6W15S5E)蚌埠

如何操作,急急急!!!!

第一个问题用公式基本可以解决:
B1输入:=MID(A1,FIND("(",A1)+1,FIND(")",A1)-FIND("(",A1)-1)
C1输入:=MID(SUBSTITUTE(A1,"(","oo",LEN(A1)-LEN(SUBSTITUTE(A1,"(",""))),FIND("oo",SUBSTITUTE(A1,"(","oo",LEN(A1)-LEN(SUBSTITUTE(A1,"(",""))))+2,FIND("pp",SUBSTITUTE(A1,")","pp",LEN(A1)-LEN(SUBSTITUTE(A1,")",""))))-FIND("oo",SUBSTITUTE(A1,"(","oo",LEN(A1)-LEN(SUBSTITUTE(A1,"(",""))))-1)

如果还有很多,往下拉复制公式即可。
但是第二个问题用公式就不好弄了。只好用VBA,代码如下:

Private Sub CommandButton1_Click()
Dim i As Integer, j As Integer, k As Integer
Dim a As String, l As String, m As String, n As String
Range("A1").Select
While ActiveCell.Value <> ""
a = ActiveCell.Value
n = ""
For i = 1 To Len(a)<