excel2007怎样通过下拉菜单调取另外一个表格相同内容的全部数据

如题所述

第1个回答  2021-05-02

按你提供的图做如下操作

1、在SHEET1表选择A2:F15插入表格(也就是超级表)

如图A2:F19插入表格(也就是超级表)

点击确定,就能得到超级表

目的有以下几项功能

1)超级表可以自动扩展,且格式与上面能保持一致的设置,区域随录入数据自动变化。且看下图

注意看细节

A18是新增的一行数据,区域随着A18的增加,自动扩大区域,上面显示表2,表示就是整个区域,此时整个表2,就是我要用做引用的。

表2新增数据之前的区域是:A2:F19,添加一行A18姓名之后,表2的区域是A2:F20。

2)我们在F3单元格按键盘,Alt+=

发现什么没,整个公式与我们平常看到的不一样=SUM(表2[@[语文]:[英语]])

表2:我们刚刚做超级表的整个区域

@:表示此行的意思

[语文]:指的是语文标的这一列

@[语文]:指的就是这个标题语文

@[语文]:[英语]:指的是此行从语文到英语的区域,也就是相当于C3:E3

如上图,回车之后,发现整个求和区域都自动填充,这是超级表的功能。

2、效果如下图

公式在A8单元格开始写起

=IFERROR(OFFSET(表2[#标题],SMALL(IF(表2[[#全部],[年级]]=$B$1,ROW(表2[[#全部],[年级]]),99^9),ROW(A1))-2,COLUMN(A:A)-1),"")

先抛开IFERROR,排错处理

OFFSET(表2[#标题],SMALL(IF(表2[[#全部],[年级]]=$B$1,ROW(表2[[#全部],[年级]]),99^9),ROW(A1))-2,COLUMN(A:A)-1)

1)表2[#标题],相当于sheet1中的A2:F2,机构化引用,相当于$A$2:$F$2

2)表2[[#全部],[年级]],相当于sheet1中的B2:B20,机构化引用,相当于$B$2:$B$20

3)99^9是99的9次方,一个相当大的数据,目的是不满足B1,也就是“二年级”的时候返回这个99^9。

如果不用超级表,A8单元格的公式是:

=IFERROR(OFFSET(Sheet1!$A$2:$F$2,SMALL(IF(Sheet1!$B$2:$B$20=$B$1,ROW(Sheet1!$B$2:$B$20),99^9),ROW(A1))-2,COLUMN(A:A)-1),"")

写好公式之后,不要急着按回车,这个时候需要按三键(Ctrl+Shift+Enter),花括号是用键盘完成的,不是手动输入的。

然后将A8右拉,下啦,可以拉到足够大的区域。IFERROR排错的目的 ,就是当全部找完了之后,返回空值。

不是超级表的时候,当SHEET1的数据陆续在补充的时候,这个范围需要手动变更,不方便维护。

超级表的好处是SHEET1的表格,一直紧挨着录入数据,都会汇总在sheet2中体现。

试试,是不是你要的效果。