如何用VBA求两列数据合并成一列数据
发布网友
发布时间:2024-05-28 12:41
我来回答
共1个回答
热心网友
时间:2024-05-28 21:56
1.现有一张EXCEL工作表,第一列为“代码”,第二列为“计量单位”,第一列有很多重复的代码对应第二列不同的计量单位,现需要将这种格式合并成右边的格式,也就是代码是唯一的,代码对应的计量单位用分行隔开。
请点击输入图片描述
2
2.选中“源数据”表的A2:A171区域,将名称定义为“代码”。
请点击输入图片描述
3
3. 选中“源数据”表的B1:B171区域,将名称定义为“计量单位”。
请点击输入图片描述
4
4.将“源数据”表中的A列复制到“处理过程”表A列里。
请点击输入图片描述
5
5.选中“处理过程”表中的代码,依次点击“数据”—“删除重复项”,使得代码只保留唯一值。
请点击输入图片描述
6
6.发现117个重复值,保留了53个唯一值。
请点击输入图片描述
7.在“处理过程”表C2单元格输入公式“=COUNTIF(代码,A2)”,统计各代码对应有几条“计量单位”记录。
请点击输入图片描述
8.将“处理过程”表C2单元格的公式向下复制到“代码”行的最后一个代码所在的行。这样每个代码所对应的记录条数都统计出来了。
请点击输入图片描述
9.在“处理过程”表D2单元格输入公式“=MAX(C2:C54)”,统计出各代码对应的记录条数的最大值,本例的最大值是“13”,也就是说某个代码对应的计量单位的最大记录条数是13。
请点击输入图片描述
10.在“处理过程”表E1单元格输入公式“=COLUMN()-4”,使得E1单元格的值等于1,然后将公式向右复制到Q1单元格,Q1单元格的值等于13,也就是记录条数的最大值。
请点击输入图片描述
11.在“处理过程”表E2单元格输入公式“=IFERROR(IF(F2<>"",INDEX(计量单位,SMALL(IF(代码=$A2,ROW($2:$171),99999),E$1))&";",INDEX(计量单位,SMALL(IF(代码=$A2,ROW($2:$171),99999),E$1))&""),"")”,然后同时按下“shift+Ctrl+enter”键,生成数组公式。
请点击输入图片描述
12.将这个数组公式向右复制到Q2单元格,然后再将E2:Q2的公式向下复制到E54:Q54。
请点击输入图片描述
13.此时,各代码所对应的记录全部生成到E2:Q54单元格了。
请点击输入图片描述
14.在“处理过程”表B2单元格输入公式“=CONCATENATE(E2,F2,G2,H2,I2,J2,K2,L2,M2,N2,O2,P2,Q2)”,将E2:Q2单元格的文本合并到B2单元格。
请点击输入图片描述
15.将B2单元格的公式向下复制到B54单元格。
请点击输入图片描述
16. 此时,各代码所对应的记录全部合并到B列的单元格里,并用分号进行了分割。如果需要在其他EXCEL工作表中使用处理过的结果,请使用“选择性粘贴—数值”,以免出现错误。
请点击输入图片描述
如何用VBA求两列数据合并成一列数据
1.现有一张EXCEL工作表,第一列为“代码”,第二列为“计量单位”,第一列有很多重复的代码对应第二列不同的计量单位,现需要将这种格式合并成右边的格式,也就是代码是唯一的,代码对应的计量单位用分行隔开。请点击输入图片描述 2 2.选中“源数据”表的A2:A171区域,将名称定义为“代码”。请点...
怎么用vba把指定两列单元格文字合并成一列,注意二列内容位置经常变改怎...
要先查找,定位,然后插入1列,写入 类别项目 Sub 合并()Dim N N = WorksheetFunction.Match("项目", Range("1:1"), 0)Columns(N + 1).Select Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove Cells(1, N + 1) = "类别项目"End Sub ...
vba 通过数组将 两列数据合并成一列 并显示出来
1), Cells(Rows.Count, 1).End(xlUp)) arr2 = Range(Cells(1, 2), Cells(Rows.Count, 2).End(xlUp)) Cells(Rows.Count, 4).End(xlUp).Offset(1, 0).Resize(UBound(arr1), 1) = arr1 Cells(Rows.Count, 4).
如何合并两列数据到一列中?
方法一:使用 CONCAT 函数 CONCAT 函数可以将多个字符串连接起来。要使用 CONCAT 函数合并分列后的单元格,可以使用以下公式:=CONCAT(A1, ",", A2)该公式将 A1 和 A2 单元格中的值连接起来,并用逗号作为分隔符。例如,如果 A1 和 A2 单元格分别包含“北京”和“上海”,则使用该公式后,A1 单...
如何将两列数据合并到一起呢?
在Excel表格中,可以使用以下步骤将A列重复项相对应的B列数值求和并合并:假设数据在Sheet1的A1:B10单元格区域中。新建一列,假设在C列,从C1单元格开始,输入以下公式,将A列中重复项对应的B列数值求和:=SUMIFS(B:B,A:A,A1)这个公式的意思是,在B列中,对所有A列中值等于A1的行进行求和。在...
excel两列并一列
感觉这种用VBA代码做最好,公式也可以,但是会有些限制:假设原始数据在A\B列,在后面随便哪列的第一行中输入公式 =INDEX(A:B,CEILING.PRECISE(ROW()/2),IF(MOD(ROW(),2)=0,2,1)),下拉填充,可以达到效果 涉及到几个函数:INDEX,返回区域内指定行、列(即单元格地址确定)的内容 CEILING....
excel表格中两列数据怎样有序的合并排成一列
公式为:=IF(MOD(ROW(A9),9)<5,OFFSET(A$1,INT(ROW(A1)/9)*5+MOD(ROW(A9),9),,),OFFSET(B$1,INT(ROW(A9)/9)*4-9+MOD(ROW(A9),9),,))如图所示:
excel vba 如何合并两个文件的两列合并成一列
把sheet2和sheet3合并到sheet1 Sheets("Sheet2").Select 选中sheet2 Range("A2:B9").Select 选中要拷贝的范围 Selection.Copy 拷贝 Sheets("Sheet1").Select 选中sheet1 Range("A2").Select 选中要粘贴的范围。ActiveSheet.Paste 粘贴 Sheets("Sheet3").Select 选中sheet3 ...
在电子表格中如何将两列数据合并到同一单元格里
单击A列列标选中A列,按一下TAB键使活动单元格位于A2 设置条件格式为公式 =a1=a2 在该对话框的格式按钮中将文字颜色和填充色设置为同一种颜色(例如白色)还可以借助数据透视表:在布局中将 “用户编号”、“姓名”都拖拽到“行”的位置。如果以上2条不符合你的要求,可以用vba Sub 合并A列单元格(...
VBA数组 A,B两列数据合并粘回到A列,为什么我的A列没有值了呢?
执行完A列是有值的。从第二行开始A列的值是AB两列数据合并的结果。你说A列没值了,我想有一种可能性,就是代码里判断取值的时候用的是【Sheet2】,而你Sheet2里没有值,最后粘贴到了Sheet1(或其他Sheet),导致没有值了。你把程序里的Sheet2换成你现在用的Sheet名就可以了。