问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

EXCEL中如何将A列相同项所对应的B列数据按D列要求合并至F列,并且数据间用逗号隔开。

发布网友 发布时间:2022-05-20 05:50

我来回答

3个回答

热心网友 时间:2023-10-25 22:37

增加两列辅助列G和H列
G2=A2&"#"&COUNTIF(A$2:A2,A2)
H2=IF(COUNTIF(A$2:A2,A2)=1,"",INDEX(H:H,MATCH(A2&"#"&(COUNTIF(A$2:A2,A2)-1),G:G,0),)&",")&B2

G列和H列生成如下:
G H
100*52*16#1 2
100*52*16#2 2,2
100*52*16#3 2,2,1
100*52*25#1 4
100*52*25#2 4,4
100*52*25#3 4,4,5
100*52*25#4 4,4,5,2
100*52*33#1 1
100*54*18#1 4
105*54*16#1 7
105*54*18#1 7
105*54*18#2 7,3
62*40*18#1 1
62*40*18#2 1,1
62*40*18#3 1,1,1

F2=INDEX(H:H,MATCH(D2&"#"&COUNTIF(A:A,D2),G:G,0))
将公式向下拉。

热心网友 时间:2023-10-25 22:37

数据区域以:A2:F10区域为例
C列作为辅助列:
C2单元格输入公式:
=B2&","
格式柄下拉复制公式至C10单元格,然后选取C2:C10单元格区域,鼠标右键-复制-选C2单元格-右键-选择性粘贴-数值-确定
D2单元格公式:
=INDEX(A:A,SMALL(IF(MATCH($A$2:$A$10,$A$2:$A$10,)=ROW($1:$9),ROW($2:$10),4^8),ROW(A1)))&""
数组公式:ctrl+shift+enter组合键结束输入
格式柄下拉复制公式至出现空白
E2单元格公式:
=SUMPRODUCT(($A$2:$A$10=$D2)*$B$2:$B$10)
格式柄下拉复制公式
F2单元格公式:
=LEFT(PHONETIC(INDIRECT("C"&SUMPRODUCT(MAX(($A$2:$A$10=D2)*ROW($A$2:$A$10)))-COUNTIF(A:A,D2)+1&":C"&SUMPRODUCT(MAX(($A$2:$A$10=D2)*ROW($A$2:$A$10))))),LEN(PHONETIC(INDIRECT("C"&SUMPRODUCT(MAX(($A$2:$A$10=D2)*ROW($A$2:$A$10)))-COUNTIF(A:A,D2)+1&":C"&SUMPRODUCT(MAX(($A$2:$A$10=D2)*ROW($A$2:$A$10))))))-1)
格式柄下拉复制公式:
具体引用区域自行修正(把公式里面的10改成最后一行的行号,$1:$9里面的9改成比最后一行少1行的行号)

热心网友 时间:2023-10-25 22:38

我用VBA做了一个,测试成功
操作方法:
宏->VB编辑器
模组->右键-> 创建模组
然后将后面这段copy进去
然后点击上面的小绿三角执行
如果还有不明白,给我留言

Sub ss()
Dim i As Integer '外层循环A列
Dim j As Integer '内层循环D列
Dim cd As Integer '记录每次查找的位置,如果存在保留当前位置,如果不存在当然位置+1放在后面一个位置上
Dim isbool As Boolean '记录在D列是否存在A列的值
cd = 2 '初始值为跳过标题行
For i = 2 To 100
If CStr(Cells(i, 1).Value) = "" Then Exit For
isbool = False
For j = 2 To 100
If CStr(Cells(j, 4).Value) = "" Then Exit For
If CStr(Cells(i, 1).Value) = CStr(Cells(j, 4).Value) Then
cd = j
isbool = True
Exit For
End If
If CStr(Cells(i, 1).Value) <> CStr(Cells(j, 4).Value) Then
isbool = False
cd = j + 1
End If
Next j
If CStr(Cells(cd, 5).Value) = "" Then Cells(cd, 5).Value = 0
If isbool Then
Cells(cd, 5).Value = CStr(CInt(Cells(cd, 5).Value) + CInt(Cells(i, 2).Value))
Cells(cd, 6).Value = Cells(cd, 6).Value & "," & CStr(Cells(i, 2).Value)
Else
Cells(cd, 4).Value = Cells(i, 1).Value
Cells(cd, 5).Value = CStr(Cells(i, 2).Value)
Cells(cd, 6).Value = Cells(i, 2).Value
End If
Next i
End Sub
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
天一共卖出136张电影票,上午卖出去86张,下午卖出多少张。 17届华杯赛小学高年级组的初赛的这道题怎么做? 美特斯工业系统(中国)有限公司MTS公司发展史 mts公司是什么单位 华夏八大古姓是哪八个 ...耳鸣 单眼瞳孔上移 平常手机看得多 会不会是脑瘤 ...了首付给儿子和儿媳买了一套房子,房照上面写的是儿子和儿媳的... GBA最终幻想战略卡住 最终幻想战略版 大bug (狮子战争?就是GBA上的) GBA版最终幻想战略版的BUG问题,很急的 星火广告 我想学影视广告特效制作,要用到那些软件,大部分人都用的软件? 想自学广告设计,最基本的软件会一点,但不精通 vivox7屏幕黑屏按键灯亮 西安坐动车在西安北站在还是西安火车站坐? 吃核桃对人身体有何好处? 吃核桃对人有什么好处? 请推荐一款卸妆产品,用来卸防晒霜和BB霜,要温和一点的对皮肤伤害小的。请给出产品名称和价格。 防晒霜需要卸妆吗, 如果需要, 呢用什麽牌子的比较好, 卸妆油,卸妆水,卸妆液, 哪个适合卸防晒霜, 凡茜仙人掌无S洗面奶可以卸妆吗?只是卸防晒霜 求推荐好用的防晒霜? 如果只用防晒霜的话,用凡茜的白茶卸妆油怎么样?能天天用吗? 凡茜防晒霜怎么样 凡茜护肤品如何 我的录音怎么转换为彩铃? 9月1日开学第一课作文 不知道应该怎么截屏??? qq上的讨论组是不是创建者退了,整个讨论组也没了 出现“读取文件C:&#92;program files&#92;Microsoft sql sever&#92;mssql&#92;data&#92;msdbata.mdf时出错”的提示信息。 我还原MSSQL数据库时报错:用户没有 RESTORE 数据库‘XXX’的权限。RESTORE DATABASE 操作异常终止。请问 有道菜,叫宫保鸡丁还是叫宫爆鸡丁?拜托各位了 3Q 怎么把excel表里相邻两列单元格文本合并到一列,并用逗号隔开,空白单元格不加逗号 excel如何合并某两列的文本呢,见表格(将A、B两列转换为D、E两列,逗号相隔),A、B有很多数据,求公式? 三国之名门公子什么时候推到小乔 身娇体柔易推倒小乔封神战争实战解析 三国小说男主推倒各种妹子如貂蝉小乔等 关于三国杀和小乔相关的若干规则 三国杀小乔技能问题。 王者荣耀小乔铭文怎么搭配 小乔最新铭文搭配推 三国杀小乔的问题 三国杀小乔问题 炊面包放发酵粉要等多少分钟才可以 下锅炊? 急需hello kitty 全家资料及图片 为什么我将原WORD表格粘贴到另一个WORD表格中,本来是一页纸的表格粘完后却变成了两页呢,我想是因为第二 为什么word文档里面两页的表格为什么自动变成一个表格啊 129无符副秒多少能清大鬼 梦幻西游天机城那些人物可以拜入? 如何祛痘防痘? 手机贴了钢化膜有白边涂了白边液翘起来了在能用uv胶涂白边吗? 戴*眼镜的时候,就是把*眼镜从那个药水里面取出来之后,可以用水先洗一下眼镜吗擦干之后在带吗?因 今晚有欧冠直播吗?