建议楼主把问题简化一下:
自己先整理一下:
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齐,你的工作就结束了。
只希望帮到你,不求采纳,哈哈
以你的例子来讲,杨二,你的源数据是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也可以公式实现,不过需要数组公式。
以上答案只是根据你的例子。实际情况如何,不确定。
这个得分2步
第一步,从C开始用index smallu产生于A对应的上表的B
第二步,B=CONCATENATE(C,IF(D=" ","","、")&D,IF(E=" ","","、")&E,..........)
B列数据如果重复,需要删除,而且需要按括号内的数字排序?
这样的效果?
跨表同理