使用Excel公式过滤列表

我在Excel工作表的A列中列出了公司名单,在BI列中列出了公司的特征。 在另一个Excel工作表中,我想获取第一个工作表中的公司列表,并通过其中一个特征进行过滤(可能会发生变化,因此我需要一个Excel公式来完成此工作)。 我知道,如果我使用下面的公式: =IF(Sheet1!A1="Criteria",Sheet1!A1;"") ,然后复制公式向下,它的工作,但我会得到空白单元格之间。 有任何想法吗?

提前致谢。

假设你的公司名单是Sheet1!A2:A6,特征列表是Sheet1!B2:B6。 您的标准可以在单元格Sheet2!A1中input,您可以在Sheet2!A2中键入以下公式

 {=IFERROR(INDEX(Sheet1!$A$2:$A$6,SMALL(IF(Sheet1!$B$2:$B$6=Sheet2!$A$1,ROW($A$2:$A$6)-ROW($A$1),""),ROW(A2)-1)),"")} 

按CTRL + SHIFT + ENTER,然后通过输出范围Sheet2!A2:A6复制它。

工作表Sheet1

Sheet2中

使用

 =INDEX(B:B, AGGREGATE(15, 6, ROW(A$1:INDEX(A:A, MATCH("zzz", A:A)))/(A$1:INDEX(A:A, MATCH("zzz", A:A))="criteria"), ROW(1:1))) 

…并填写。

在这里输入图像说明

我build议你使用数据透视表,因为这正是他们devise的情况。 使用“插入”选项卡中的表格图标将您的源列表转换为Excel表格(或者只需在数据中select一个单元格并使用CTRL + T快捷键)。 然后制作一个数据透视表,将标准字段放在页面区域,以及其他任何你想要的区域。 closures分类汇总,然后在“devise”选项卡中将布局更改为“表格”,然后根据名称复制工作表多次。 然后筛选每个数据透视表只显示个人名称。

更好的办法是创build第一个数据透视表,然后使用“显示页面字段”function自动创build新的工作表,每个工作表的数据透视表版本将根据每个条件自动过滤。 (分析>选项>显示报告filter页面)。 查看YouTube的一般数据透视表的例子,特别是显示报告filter页面的魔术……从Mike Girven(ExcelIsFun)或Debra Dalgleish(Contextures)或者Bill Jelen(Excel先生)那里为初学者寻找video。

数据透视表起初似乎令人望而生畏,但他们很容易掌握,并把你变成一个Excel忍者。