excel 如何让第一列重复的项对应的第二列值归并,并以顿号隔开。

原始数据第二列需归并项最多达16项。

建议楼主把问题简化一下:

自己先整理一下:

1.剔除重复的数据:杨四的两个i(4)

2.排序相关数据同一个姓名的B列,请排序好

复杂的公式也需要规则的数据,楼主不能寄希望用一个公式既能合并需要的数据,剔除重复数据并排序输出,这样的公式会为了简单的预处理而耗费太多的思路,甚至把可能变成了不可能。

相信变成这样并不难:

给你个例子:

1.C1列出所有成员公式:

=INDEX(A:A,SMALL(IF(COUNTIF(OFFSET(A$1,,,ROW(A$1:A$10)),A$1:A$9)=1,ROW(A$1:A$9)),ROW(1:1)))

数组公式,三键回车,下拉到出错,公式会列出唯一的成员表

2.D1公式:

=PHONETIC(INDIRECT("B"&MATCH(C1,A$1:A$1000,0)&":B"&(MATCH(C2,A$1:A$10000,0)-1)))

下拉填充到与C齐,你的工作就结束了。

只希望帮到你,不求采纳,哈哈

追问

您好,十分感谢您。我的杨四那个是输入错误了,本来没有重复的。而且归并以后不需要排序好,可以是乱的,因为我是手工输入的例子,所以不自觉就按顺序排了。我现在按您教的方法做D1公式时,因为我的这些信息也是从原始数据经过转化得来的,前面有好几页的Sheet,带进去计算不出来。应该怎样改呢??万分感谢。

追答

phonetic函数无法计算带有公式的单元格,建议把AB列的数据纯化为文本:
1.得到AB列的结果后,选中AB列,复制
2.选中C列(保证CD列无数据,或者在新的Sheet的A列右键然后单击“选择性粘贴”-->勾选“数值”,确认)
这样得到的就是纯文本的待处理数据了,然后建议按照A+B列排序。
3.排序后可以把原来的AB列数据删掉(如果是新的Sheet就没关系了)
4.现在在CD列应用刚才的公式,就可以自动得到姓名序列C和合并序列D(我的公式中忽略了你需要的顿号,你可以自己补上 &“、”)
有需要可以追问,已经采纳了其他答案并不是问题,祝顺利!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-02
以你的例子来讲,杨二,你的源数据是i(3)在i(1)前面,所以,要实现你的效果,较麻烦,需要vba
折中的办法是,排序一下,
我的解决办法是,排序,A列为主要关键字,B列为次要关键字。(如果不处理,杨二的结果与你的有前后顺序不同的区别)
然后,E1输入
=MID(SUBSTITUTE(PHONETIC(OFFSET(INDIRECT("A"&MATCH(D1,A:A,)),,,COUNTIF(A:A,D1),2)),D1,","),2,99)
下拉填充。
再在D1到D4输入杨一、杨二、杨三、杨四。当然D1:d4也可以公式实现,不过需要数组公式。
以上答案只是根据你的例子。实际情况如何,不确定。追问

您好,十分感谢您。我的杨四那个是输入错误了,本来没有重复的。而且归并以后不需要排序好,可以是乱的,因为我是手工输入的例子,所以不自觉就按顺序排了。我现在按您教的方法做D1公式时,因为我的这些信息也是从原始数据经过转化得来的,前面有好几页的Sheet,带进去计算不出来。应该怎样改呢??万分感谢

追答

刚看到追问。看你采纳答案了,看来是解决了,我不用回复了。呵呵

第2个回答  2013-05-02
这个得分2步
第一步,从C开始用index smallu产生于A对应的上表的B
第二步,B=CONCATENATE(C,IF(D=" ","","、")&D,IF(E=" ","","、")&E,..........)
第3个回答  2013-05-02
B列数据如果重复,需要删除,而且需要按括号内的数字排序?本回答被提问者采纳
第4个回答  2013-05-02

这样的效果?

跨表同理

追问

恩恩,是呢。就是这种哦。但是我第二项需要归并的有点多,最多的有十六项的。

追答

再多都可以,
你都采纳别人答案了。。。。

追问

我刚才点错了,我想继续追问来着,呜呜,不然我重新建个提问,再采纳你的。就觉得你的是最好的。呜呜呜,求求你了。都在成都读书,就行行好嘛!!

追答

D1=INDEX(A:A,SMALL(IF(MATCH($A$1:$A$18&"",$A$1:$A$18&"",)=ROW($A$1:$A$18),ROW($A$1:$A$18),65536),ROW(A1)))&""

数组公式,需要同时按CTRL SHIFT 回车键

E1=SUBSTITUTE(PHONETIC(OFFSET($A$1,MATCH(D1,A:A,)-1,0,COUNTIF(A:A,D1),2)),D1,",")

相似回答