Excel如何用函数或公式将原始数据表中的数据分类同步到新的工作表中?是不是可以用filter函数解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel如何用函数或公式将原始数据表中的数据分类同步到新的工作表中?是不是可以用filter函数解决?相关的知识,希望对你有一定的参考价值。

excel电子表格中,是否可以用filter这个函数解决:如图所示,图中有四个表,一个总表,总表里有三大类(肉类,蔬菜,蛋类),需要把这三大类的所有数据全部同步到对应的三个分表中,可以添加任何条件,也可以在工作表中插入列,插入条件,请问大神该怎么操作?在此先谢过大神。

在 Excel 2007 中,可以用以下公式满足题述要求(类表同步总表数据):
1. 肉类:=IFERROR(IF(INDEX(Sheet1!$C$1:$F$99,SMALL(IF(Sheet1!$B$1:$B$99="肉类",ROW($1:$99),4^8),ROW(A1)),COLUMN(A1))="","",INDEX(Sheet1!$C$1:$F$11,SMALL(IF(Sheet1!$B$1:$B$99="肉类",ROW($1:$99),4^8),ROW(A1)),COLUMN(A1))),"")
2. 蔬菜:将公式中的“肉类”换成“蔬菜”
3. 蛋类:将公式中的“肉类”换成“蛋类”

注1:该公式为数组公式,须“Ctrl+Shift+Enter”三键同按结束输入|
注2:为简洁起见,三张类表合在一张表内
注3:为便于验证,在总表中引入了类表

公式的结果如下图示:

总表及同表中的类表公式结果的图示

类表中公式结果的图示

追问

看起来好复杂,麻烦大神帮忙看一下能不能用filter这个函数解决?

追答

我用的是 Excel 2007 ,低版本 Excel 没有 Filter 函数,所以只能用笨办法。
如果用 Filter 函数,的确简单很多(以“肉类”为例):
1. 本表:=FILTER(C2:G11,C2:G11="肉类") (在本表内 H2 单元格输入公式)
2. 类表:=FILTER(Sheet1!C2:G11,Sheet1!C2:G11="肉类") (在类表内 A2 单元格输入公式)

注:上述公式仅供参考,因为没有经过验证。

参考技术A 根据你的要求,推荐两个比较好的方法:
方法一:多重合并计算的数据透视表,因为你说了只有3个工作表要合并,那么用多重合并计算的数据透视表简单方便。按
Alt+D+P
调出多重合并计算区域对话框,选择“多重合并计算区域”,进入下一步,默认单字段不要动,直接下一步,然后分别选择3个要汇总的工作表的数据区域(根据你所说的要插入列或行等情况,最好是选择把3工作表的数据区域定义为动态名称或直接转换为超级表),添加到下面的列表中,3个工作表的数据区域(或定义的3个名称)添加后,下一步选择透视表的放置的工作表,选择“现在工作表”,再选择“汇总”,如果没有先插入的“汇总”工作表,就直接“新工作表”(事后修改为“汇总”)。会自动生成数据透视表,根据需要,重新拖动组合,达到自己满意的透视效果。
如果3个工作表定义了动态名称或转换成了超级表,数据有变化时,只要刷新透视表即可。如果没有,就要上一步,上一步,直到选择数据源对话框,添加选择数据源修改。
方法二:Power Qurey,特别适合于多个工作表的合并汇总(当然2或3个也很方便)
获取数据——从工作簿,选择要合并的工作簿,筛选去掉“汇总”工作表,然后在Power Qurey中,用分组依据进行合并计算。最后上载回“汇总”工作表中。
Power Qurey无需对数据源工作表定义名称,数据有变化时,只要刷新,会自动按最新的数据进行刷新。且工作簿中增加了新的工作表(与原有的工作表要有完全相同的结构,否则会出错)或删除了工作表时,都能通过刷新更新。
更推荐方法二,虽然并不难,但对于初学者,可能要稍多练习才能掌握,而方法一几乎只要按照步骤来就能掌握。
祝你成功。
PS:公式的方法当然也是可以的,但对于本问题,比起上面介绍的方法,差的不是一点点。所以不做介绍了。

Excel如何用函数或公式将原始数据表中的数据分类同步到新的工作表中?

excel电子表格中,用函数或者什么方法:如图所示,图中有四个表,一个总表,总表里有三大类(肉类,蔬菜,蛋类),需要把这三大类的所有数据全部同步到对应的三个分表中,可以添加任何条件,也可以在工作表中插入列,插入条件,请问大神该怎么操作?在此先谢过大神

可以用=FILTER(总表!C1:G11,总表!C1:C11=总表!$C$2)

具体操作如下:

帮到您,请记得为我点赞哦!

追问

亲,能不能文字介绍一下,你能用一个函数搞定,很佩服,但你用的动画,我试着做了一下,还是不行,麻烦说得更详细一点可以吗?

追答

公式=FILTER (总表!C1:G11,总表!C1 :C11=总表!$C$2),总表!C1 :C11=总表!$C$2这个条件,总表!C1 :C11=总表!$C$2(即(分类列=肉类)),如果是WPS要先选定结果显示区域,输完公式按CTRL+SHIFT+回车三键!

追问

还是没有看懂呀,你就告诉我,从这两个图中,能不能看得出我是哪里输入不对?

参考技术A 比如 肉类表的

A2=INDEX(总表!A:A,SMALL(IF(总表!$C$2:$C$500="肉类",ROW(总表!$A$2:$A$500),65536),ROW(A1)))&""
数组公式,同时按CTRL SHIFT 回车键,出现结果,右拉下拉公式
同理,蔬菜表的

A2=INDEX(总表!A:A,SMALL(IF(总表!$C$2:$C$500="蔬菜",ROW(总表!$A$2:$A$500),65536),ROW(A1)))&""
把公式里的 肉类,修改为 蔬菜
其他同理本回答被提问者采纳
参考技术B 你可以在各分表输入公式就行,比如在肉类表的B2输入=INDEX(总表!D$1:D$100,SMALL(IF(总表!$C$1:$C$100="肉类",ROW(总表!$E$1:$E$100),4^8),ROW(A1))),同时按CTRL+SHIFT+Enter结束公式,然后把B2向右向下填充。

以上是关于Excel如何用函数或公式将原始数据表中的数据分类同步到新的工作表中?是不是可以用filter函数解决?的主要内容,如果未能解决你的问题,请参考以下文章

2 如何用Python进行数据计算

如何用Excel计算P值?

如何用excel对数据进行标准化

excel 如何用函数去掉空白行 !!求救,郁闷一天了!!

如何用excel计算标准差的方法

如何用excel计算出年龄?