【问题标题】:Excel - Extract a List Based on a ConditionExcel - 根据条件提取列表
【发布时间】:2020-03-19 15:21:50
【问题描述】:

我在根据条件从 Excel 表中提取唯一列表时遇到了一些问题。

表格基本上是这样的(表格在A1:B11):

Name     Count
Person1  10
Person2  2
Person3  3
Person4  1
Person5  1
Person6  18
Person7  1
Person8  5
Person9  7
Person10 2

我希望能够从这张表中提取 Counts > 1 的人,并创建一个如下所示的新表:

Name     Count
Person1  10
Person2  2
Person3  3
Person6  18
Person8  5
Person9  7
Person10 2

我一直在尝试使用索引和匹配,但它并没有完全按照我想要的方式工作。有人可以帮我指出正确的方向吗?

【问题讨论】:

  • 您想以什么方式实现它?有很多方法,例如过滤/选择和复制/粘贴。有VBA..你有什么限制?
  • 我只想使用 INDEX 和 MATCH 生成列表。我觉得我很接近,但它不起作用。 { =INDEX(Table4[Person],MATCH(">1",Table4[Count],0))}

标签: arrays excel list indexing match


【解决方案1】:

考虑到您在A1:B11 上有一个Sheet1 表,如下所示:

Name     Count
Person1  10
Person2  2
Person3  3
Person4  1
Person5  1
Person6  18
Person7  1
Person8  5
Person9  7
Person10 2

1) 选择单元格D1(例如)并输入: =IFERROR(INDEX(Sheet1!$A:$B;SMALL(IF(Sheet1!$B:$B>1;ROW(Sheet1!$B:$B));ROW(1:1));1;1);"") 现在按CTRL + SHIFT + ENTER 在公式周围应用{...} 并将D1 向下拖动几行(它将显示与您的公式匹配的所有A 名称)。

2) 选择单元格E1(例如)并输入: =IFERROR(INDEX(Sheet1!$A:$B;SMALL(IF(Sheet1!$B:$B>1;ROW(Sheet1!$B:$B));ROW(1:1));2;1);"") 现在按CTRL + SHIFT + ENTER 再次在公式周围应用{...} 并将E1 向下拖动几行(它将显示与您的公式匹配的所有B 计数)。

你会得到这样的结果:

Name        Count   Name        Count
Person1     10      Person1     10
Person2     2       Person2     2
Person3     3       Person3     3
Person4     1       Person6     18
Person5     1       Person8     5
Person6     18      Person9     7
Person7     1       Person10    2
Person8     5           
Person9     7           
Person10    2   

【讨论】:

    猜你喜欢
    • 2013-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 2015-10-11
    相关资源
    最近更新 更多