【问题标题】:Filter list using Excel formula使用 Excel 公式过滤列表
【发布时间】:2017-11-23 20:53:30
【问题描述】:

我在 Excel 表的 A 列中有公司列表,在 B 列中有公司的特征。在另一个 Excel 工作表中,我想在第一个工作表中获取公司列表,并按其中一个特征过滤(可能会改变,因此我需要一个 Excel 公式来执行此操作)。我知道如果我使用以下公式:=IF(Sheet1!A1="Criteria",Sheet1!A1;"") 然后向下复制公式,它可以工作,但我会在两者之间得到空白单元格。有什么想法吗?

提前致谢。

【问题讨论】:

  • 只需使用标准公式之一作为唯一列表并丢弃空白。
  • @Jeeped 正如我所说,标准可能会改变,我需要自动更新新列表。如果我理解正确,那这个想法是行不通的。

标签: excel excel-formula


【解决方案1】:

假设您的公司列表是 Sheet1!A2:A6,特征列表是 Sheet1!B2:B6。您的条件可以在单元格 Sheet2!A1 中输入,您可以在 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。

【讨论】:

    【解决方案2】:

    使用

    =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)))
    

    ...然后填写。

    【讨论】:

      【解决方案3】:

      我建议您使用数据透视表...因为这正是它们设计的情况类型。使用“插入”选项卡中的“表格”图标将源列表转换为 Excel 表格(或者只需在数据中选择一个单元格并使用 CTRL + T 快捷方式)。然后从中制作一个数据透视表,将条件字段放在页面区域中,并将您想要的任何其他列放在 ROWS 区域中。在“设计”选项卡中关闭“小计”并将布局更改为“表格”,然后复制工作表的次数与您的名称一样多。然后过滤每个数据透视表以仅显示单个名称。

      更好的是,创建第一个数据透视表,然后使用“显示页面字段”功能自动创建新工作表,每个工作表都有一个根据每个条件自动过滤的数据透视表版本。 (分析>选项>显示报告过滤器页面)。查看 YouTube 以了解一般数据透视表的示例,特别是“显示报告过滤器页面”魔术……寻找来自 Mike Girven (ExcelIsFun) 或 Debra Dalgleish (Contextures) 或 Bill Jelen (Mr Excel) 的视频作为初学者。

      数据透视表一开始可能会让人望而生畏,但它们很容易掌握,可以让你成为 Excel 忍者。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-26
        • 2014-04-26
        • 1970-01-01
        • 2021-11-16
        相关资源
        最近更新 更多