我正在尝试找出如何将两列交错/合并在一起:
如何将两列数据合并为一列,如下所示:
Name Age Age_1
========================
A 18
B 45
C 31
D 15
E 62
进入此
Name Age
============
A 18
B 45
C 31
D 15
E 62
就我而言,我喜欢3-4个相似的列和200行
答案 0 :(得分:3)
要实施:Open VBE > On Project Explorer > ThisWorkbook > Paste Code > Click Play (Green button up top)
Option Explicit
Sub Merger()
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim Target As Range, LR As Long
LR = ws.Range("B" & ws.Rows.Count).End(xlUp).Row
For Each Target In ws.Range("B2:B" & LR)
If Target = "" Then
Target.Value = Target.Offset(0, 1).Value
End If
Next Target
'If you want to delete Column C after
ws.Range("C1").EntireColumn.Delete
End Sub
创建一个帮助列(Column D
)并将以下等式放入D2
'If your columns may contain text
=IF(B2 = "", C2, B2)
'If your columns only contains positive numbers
=MAX(B2, C2)
将方程式放到最下面时,将合并一个新列。您可以将其粘贴为值,然后删除其他列,或者引用新列,然后在其中保留其他两个列作为参考
答案 1 :(得分:3)
答案 2 :(得分:3)
您可以使用CONCATENATE
功能
如果您只想允许“ 数字”,则可以用以下函数替换您的函数:
=IFERROR(VALUE(CONCATENATE(R3:U3)),"")
IFERROR()
:IFERROR(value, [value_if_error])
VALUE()
:将日期/时间/数字字符串转换为数字
CONCATENATE()
:CONCATENATE(string1, [string2, ...])
希望我能为您提供帮助
答案 3 :(得分:1)
一种更简单的选择是
在如下两列中选择数据范围,
在其中一列中选择数据范围后,按F5 fn键选择空白单元格,然后选择“空白”,如下图所示,
这将是您所选择的结果,
您现在必须输入一个公式(虽然通过完成上一步选择了目标列中的所有空白单元格,但是现在输入的公式最初将参考当前处于焦点状态的单元格。可以从地址栏中知道当前焦点所在的单元格)
按下“ =”号开始键入公式,如下图所示,
现在选择包含需要复制的值的相邻单元格,如下图所示
如上图所示选择后,按Ctrl + Enter。瞧!
希望这会有所帮助。应该会更容易,因为您可以在更实时的场景中进行尝试。
答案 4 :(得分:0)
一个选项是合并B:E的每一行中的B:E单元格,然后立即取消合并它们。这样可以将C:E中的第一个值捕获到B列中。Range.SpecialCells可用于将工作减少到B列为空白的行中。
dim blnk as range
with worksheets("sheet1")
with .range(.cells(2, "B"), .cells(.rows.count,"A").end(xlup).offset(0, 1))
for each blnk in .specialcells(xlcelltypeblanks)
blnk.resize(1, 4).merge
blnk.unmerge
next blnk
end with
end with