历史版本4 :跨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