将文本单元格中的字符串与其他单元格中(同一位置 - 分隔符)的其他字符串连接起来
Concatenate a string within a text cell with other string at (the same place - delimiter) in other cells
首先,需要明确的是,我使用的是 Excel 2013,所以我将无法在 Excel 2016 上访问新奇的东西。
其次,我需要帮助,因为我无法找到解决方案或至少是解决以下问题的方法。
我会尽力排版。也许截图更好
所以对于这个问题,我有 3 列和很多行。
每个单元格中的分隔符是 ; 。在同一行的每个单元格中将有相同数量的此分隔符。
但是每一行都会有不同数量的分隔符。
在第一个之前、最后一个之后和分隔符之间有一个假定值。
我一直在寻找一种方法来将这些分隔符中位于同一位置的这些值连接或连接到同一文本中,但我想不出任何方法。
例如:
Column 1 - Column 2 - Column 3
Row 1 a;b;c 1;2;3 q;w;e
Row 2
Row 3
所以我希望第 4 列包含连接的结果,即 "a1q"、第 5 列 "b2w" 和第 6 列 "c3e"
或者它可以全部在第 4 列中,带有一个分隔符,类似于 "a1q;b2w;c3e"
与第 2 行和第 3 行相同,但它们的值可能更多或更少。这就是为什么我需要可扩展的东西。
我认为正常 Excel 不可能,除非涉及 VBA。我希望我把问题说清楚了,提前感谢你的帮助。
这个应该将所有内容都放在第 4 列或 "D"。
Sub splitter()
Dim SubBNameSplit() As String, BuildNameSplit() As String, NumberSplit() As String, result As String
Dim lrow As Long
Dim x As Range
Dim i As Long
With Worksheets("Sheet1")
lrow = .Cells(Rows.Count, 1).End(xlUp).Row
For Each x In .Range("A2:A" & lrow)
SubBNameSplit() = Split(.Range("A" & x.Row), ";")
BuildNameSplit() = Split(.Range("B" & x.Row), ";")
NumberSplit() = Split(.Range("C" & x.Row), ";")
result = ""
For i = LBound(SubBNameSplit) To UBound(SubBNameSplit)
result = result & SubBNameSplit(i) & BuildNameSplit(i) & NumberSplit(i) & ";"
Next i
.Range("D" & x.Row).Value = result
Next x
End With
End Sub
首先,需要明确的是,我使用的是 Excel 2013,所以我将无法在 Excel 2016 上访问新奇的东西。
其次,我需要帮助,因为我无法找到解决方案或至少是解决以下问题的方法。
我会尽力排版。也许截图更好
我一直在寻找一种方法来将这些分隔符中位于同一位置的这些值连接或连接到同一文本中,但我想不出任何方法。
例如:
Column 1 - Column 2 - Column 3
Row 1 a;b;c 1;2;3 q;w;e
Row 2
Row 3
所以我希望第 4 列包含连接的结果,即 "a1q"、第 5 列 "b2w" 和第 6 列 "c3e"
或者它可以全部在第 4 列中,带有一个分隔符,类似于 "a1q;b2w;c3e"
与第 2 行和第 3 行相同,但它们的值可能更多或更少。这就是为什么我需要可扩展的东西。
我认为正常 Excel 不可能,除非涉及 VBA。我希望我把问题说清楚了,提前感谢你的帮助。
这个应该将所有内容都放在第 4 列或 "D"。
Sub splitter()
Dim SubBNameSplit() As String, BuildNameSplit() As String, NumberSplit() As String, result As String
Dim lrow As Long
Dim x As Range
Dim i As Long
With Worksheets("Sheet1")
lrow = .Cells(Rows.Count, 1).End(xlUp).Row
For Each x In .Range("A2:A" & lrow)
SubBNameSplit() = Split(.Range("A" & x.Row), ";")
BuildNameSplit() = Split(.Range("B" & x.Row), ";")
NumberSplit() = Split(.Range("C" & x.Row), ";")
result = ""
For i = LBound(SubBNameSplit) To UBound(SubBNameSplit)
result = result & SubBNameSplit(i) & BuildNameSplit(i) & NumberSplit(i) & ";"
Next i
.Range("D" & x.Row).Value = result
Next x
End With
End Sub