excel2007怎样通过下拉菜单调取另外一个表格相同内容的全部数据
按你提供的图做如下操作
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中体现。
试试,是不是你要的效果。