如何在excel中垂直结合单元格
问题描述:
这可能是地球上最愚蠢的问题。我怎样才能以重复的方式垂直合并两个单元格的值。因为是这样的:如何在excel中垂直结合单元格
列A和B具有超过400个细胞,因此它是不可能做到我想手动达到的目标。
注意:我想将B合并为A.
答
可以创建在VBA一个简单的循环,通过在数据的每个小区运行范围内,那么其添加到输出列
Sub Merge()
Dim data As Range
Dim cell As Range
Dim output As Range
Dim i As Integer
Set data = Range("A2:B4")
Set output = Range("D2")
i = 0
For Each cell In data
output.Offset(i, 0) = cell
i = i + 1
Next
End Sub
答
您可以使用INDEX函数来引用每个单元格。如果数据在A2:B4,这个公式可以在任何列,但必须在第2行开始,然后可以向下填充:
=INDEX($A$2:$B$4,ROW()/2,MOD(ROW(),2)+1)
该公式使用当前行作为计数器。在每一个偶数行中,它都会从第一列数据中获得一个值,在每一个奇数行中它都会从第二列数据中获得一个值。每隔两行后,它会从下一行数据中获取值。
感谢Michael正在工作我想了解output.Offset(i,0)= cell 和i = i + 1正在做什么? – shaadi
阅读偏移属性。每个循环将来自数据范围中当前单元格的值放入起始输出范围D2下面的下一行。 https://msdn.microsoft.com/en-us/library/office/aa221543(v=office.11).aspx – Michael