询盘云首次实施中,是需要客户先导入他的历史数据的。但经常会遇到很多客户的历史数据乱七八糟,难以整理的情况,比如:
一个邮箱字段里存储了很多个邮箱,如果在导入新系统前不处理好,这种不规范的数据会影响后续询盘云系统的正常使用,比如邮箱的查重、邮箱与CRM客户信息的自动关联、邮箱后缀查重等。
这种情况一般是由于原来的CRM系统限定不严格,或者是使用人在使用过程中未按规范使用,导致一个单元格里挤了多个单元格的数据,那如何能将以上数据整理成规范的CRM数据呢?
常规的Excel操作应该是在公司2下新增2行,然后在邮箱字段,选转置粘贴;然后在公司3下新增3行,然后在邮箱字段,选转置粘贴;。。。 一次类推,非常麻烦。那如何能快速处理呢?可以用 Excel 宏来处理。
”宏“操作很简单,上方工具栏找到宏,选择录制宏,点结束,再点编辑,就可以自己编辑宏里的程序了。我通过 chatGPT 写了一段处理程序,分享给大家。
Sub SplitEmails()
Dim lastRow As Long
Dim companyColumn As Long
Dim emailColumn As Long
Dim i As Long
Dim j As Long
Dim k As Long
companyColumn = 1 ' 请根据您的数据更改公司名称的列号
emailColumn = 2 ' 请根据您的数据更改电子邮件地址的列号
lastRow = Cells(Rows.Count, companyColumn).End(xlUp).Row
' 循环遍历每一行
For i = lastRow To 2 Step -1
Dim emailList As Variant
emailList = Split(Cells(i, emailColumn), ",") ' 以逗号为分隔符分割电子邮件列表
If UBound(emailList) > 0 Then ' 如果电子邮件列表中有多个电子邮件地址
' 将多个电子邮件地址分别添加到新行中
For j = UBound(emailList) To 1 Step -1
Rows(i + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(i + 1, companyColumn).Value = Cells(i, companyColumn).Value
Cells(i + 1, emailColumn).Value = Trim(emailList(j))
Next j
' 更新原始行中的第一个电子邮件地址
Cells(i, emailColumn).Value = Trim(emailList(0))
End If
Next i
' 删除多余的逗号
For i = 2 To lastRow
Dim email As String
email = Cells(i, emailColumn).Value
Cells(i, emailColumn).Value = Replace(email, ",", "")
Next i
End Sub
这段代码执行后,可以秒把上述 Excel 变成如下:
如果你在处理 Excel 过程中,还有其他难题,也可以微信联系我,一起讨论交流。