EXCEL中多条件查找并引用文本的方法

说明:如图,我想在表2中统计表1中张三、李四、王五的省,市,区级的项目名称,并用逗号隔开,麻烦高手帮忙。

假设是excel 2016


先建立 一个查询


建立分组,如上图


在分组中,将内容如上图修改
= Table.Group(排序的行, {"姓名", "级别"}, {{"计数", each Table.RowCount(_), type number},{"项目1", each Text.Combine([项目],",") }})


删除计数列,并进行不聚合的透视
最后点开始,加载就行了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-14

可以使用迭代公式,按以下操作

    在excel选项--公式 中启用迭代公式,迭代次数按照你的数据量确定,比如数据是100个,那迭代次数至少是100次。

    假设你的数据在A1:C7中,在F3单元格中输入=IF($D$2=0,"",IF($D$2>=0,IF(OFFSET($A$1:$C$7,$D$2-1,1,1,1)&OFFSET($A$1:$C$7,$D$2-1,2,1,1)=$E3&F$2,F3&INDEX($A$1:$A$7,$D$2)&",",F3))),回车,但是现在没有想要的结果

    在D2单元格中输入=D2+1,回车,这时就有你想要的结果了

追问

追答

黄色单元格输入=IF($E$1=0,"",IF($E$1>=0,IF(OFFSET(Sheet1!$A$1:$C$10,$E$1-1,1,1,1)&OFFSET(Sheet1!$A$1:$C$10,$E$1-1,2,1,1)=B$1&$A2,B2&INDEX(Sheet1!$A$1:$A$10,$E$1)&",",B2)))
再在E1单元格输入=E1+1

第2个回答  2018-03-14
一般的函数公式只能引用单个单元格的值,所以如果你将右表的“省级”、“市级”、“县级”分别改成多列。就可以用公式引用过来。
另一种方法是对左表先加以处理,在“项目”后面插入一列顿号,再将前4列按级别列为第一关键字、姓名列为第二关键字排序,然后用公式(需要使用PHONETIC等函数)引用到右表中。
第3个回答  2018-03-14
万能的vba可以完成。
第4个回答  2018-03-14
可能要写一个vba去判断了,公式不好搞的吧?
相似回答