execl 中满足同一个条件的多个结果要在同一个单元格中显示,比如满足B列中张一条件的D列的A、E、F三个同在一个单元格中显示,并以“、”号区分开
亲,如果你要求显示在一个单元格内,那只有用VBA写一个自定义函数实现了。
开你的Excel文件,按“Alt+F11”打开VBA编辑窗口,然后在左侧空白处点击右键,“插入”,“模块”。右侧空白处粘贴下面的代码。关闭VBA窗口。
在D9单元格粘贴公式:
=hebing(B2:B7,C9,D2:D7,"、")
Function HeBing(rng1 As Range, s As String, rng2 As Range, f As String) As String
大神,运行过程中还是遇到问题了,我的sheet中数据很多,如果=hebing(B:B,C9,D:D,"、")这样写就是显示#VALUE!,如果所范围缩小为=hebing(B2:B7,C9,D2:D7,"、")这样就可以,请问能改下吗,谢谢
追答嗯,你说的很对,代码更改如下:
Function HeBing(rng1 As Range, s As String, rng2 As Range, f As String) As String还是一样的,能再修修吗,谢谢
追答请把数据区域截图上来看看。
我这边测试没有问题,见下图。其实,即使不修改代码,也不会产生#VALUE!错误,只是运行会比较慢。
所以,我怀疑是你的数据区域有其它错误值,导致无法合并产生错误。
上面是范围变小的可以,下面是大的不可以
亲,逻辑有问题呀!
两个区域不对应,A列是400~532,C列是400~653。A列的区域小一些,造成C列的多余区域没有A列的条件可以判断,当然出错。
这样也不行啊.......
嗯,貌似400~500行的数据有点问题。方便的话发给我看看。收私——信。