Excel 智能拆分和插入单元格

Excel 智能拆分和插入单元格

我正在做一个个人项目,一个非常简单的网页抓取工具。我将结果存储为 CSV,其中包含标题、URL 和 ID。ID 包含通过正则表达式匹配找到的结果字符串(例如:ID 单元格可以是“1234567”、“1111111 2222222”等)。将单元格拆分为列很简单,但如何轻松拆分这些 ID,同时保持与相关标题和 URL 的链接?我正在处理几千页,因此手动操作并不是一个好选择。

例子:

初始值:
“主页”,foo.bar/home,1111111 2222222

之后:
“主页”,foo.bar/home,1111111
“主页”,foo.bar/home,2222222

答案1

在 vba 中类似这样的操作应该可以解决问题。它没有错误检查,也没有针对速度进行优化,但应该没问题。它将创建一个新的工作表并按照您想要的方式拆分数据。

Option Explicit
Sub test()
Dim lRow As Long, curRow As Long, pasteRow As Long
Dim dataWS As Worksheet, pasteWS As Worksheet
Dim ArrID() As String
Dim i As Long

'Since csv will only have one sheet
Set dataWS = Sheets(1)
Set pasteWS = Worksheets.Add
pasteRow = 1

lRow = dataWS.Range("A" & dataWS.Rows.Count).End(xlUp).Row

For curRow = 1 To lRow
    ArrID() = Split(dataWS.Range("C" & curRow).Value, " ")
    For i = 0 To UBound(ArrID)
        If Len(ArrID(i)) > 0 Then
            pasteWS.Range("A" & pasteRow & ":B" & pasteRow).Value = dataWS.Range("A" & curRow & ":B" & curRow).Value
            pasteWS.Range("C" & pasteRow).Value = ArrID(i)
            pasteRow = pasteRow + 1
        End If
    Next
Next

End Sub

答案2

不是最优雅的:

  1. 拆分成列。我使用文本到列、空格和逗号分隔符,将连续的分隔符视为一个。
  2. 放入数据透视表
  3. 将标题、网址和 ID1 添加至行中。
  4. 进入每个字段的字段设置,关闭小计。在“布局和打印”选项卡上,以表格形式显示项目并重复项目标签。
  5. 将数据复制到新工作表中。
  6. 在数据透视表行中将 ID1 替换为 ID2。复制到新工作表中。

链接图像-帮助展示方法

相关内容