历史版本1 :跨sheet数据筛选和联动 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1.问题描述编辑

在进行多sheet报表设计的时候,两个sheet里面都用到了扩展数据集,如何从一个sheet里面获取另一个sheet里面对应的数据的值呢,如下:

222                                            222             

                sheet1                                                                            sheet2

如果想从sheet1获取sheet2中对应销售员的销量值,直接在sheet1输入sheet2!B2,会出现下面的情况:
222

这显然不是我们想要的。

2.解决思路编辑

先将关联的值一同获取过来,再通过关联值去筛选需要的数据,如上,sheet1和sheet2关联的值是A2中的销售员。

3.解决步骤编辑

1)获取另外个sheet中的关联值和目标值:'sheet2'!A2+'sheet2'!B2

注意,这里的+号不能用CONCATENATE( )来代替

222
2)利用GREPARRAY( )函数来筛选对应的数据:GREPARRAY(上一步结果, left(item, len(A2)) = A2)

这里的过滤条件是以当前sheet中的关联值的长度去截取获取过来的每一项数据,如果与当前sheet中关联值一致,则保留。

222
3)从上一步的结果中去除当前sheet中的关联值,即将关联值替换为空:replace(上一步结果, A2, "")
222

4)综合起来公式就是:REPLACE(GREPARRAY('sheet2'!A2+'sheet2'!B2, LEFT(item,LEN(A2))=A2),A2,"")
222