excel:使用公式过滤

时间:2017-05-10 08:01:34

标签: excel array-formulas

我有一份属于两组(A或B)的人员名单。我想创建一个列,其中列出了属于A组的所有人员。 我一直试图想出一个数组公式,但我没有一个有效的例子。任何帮助表示赞赏!

姓名|集团|期望的输出

鲍勃| A |鲍勃

弗雷德| B |埃里克

马特| B |戴夫

Eric | A |佛瑞德

戴夫| A |
炖| B |
弗雷德| A |

非常感谢提前

3 个答案:

答案 0 :(得分:1)

从此

+---+-------+-------+
|   |   A   |   B   |
+---+-------+-------+
| 1 | Name  | Group |
| 2 | Nick  | A     |
| 3 | Marc  | A     |
| 4 | Manny | B     |
| 5 | Luck  | A     |
+---+-------+-------+

您可以创建两个数据透视表,其中行标签中包含“名称”,过滤器数据中包含“组”。 然后,您只能根据群组过滤人员。

+---+-------------------+---+
|   |         A         | B |
+---+-------------------+---+
| 1 | Group             | A |
| 2 |                   |   |
| 3 | Etichette di riga |   |
| 4 | Luck              |   |
| 5 | Marc              |   |
| 6 | Nick              |   |
+---+-------------------+---+

答案 1 :(得分:1)

C列的正常公式:

C2=
=IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW(B:B)/(B:B="A"),ROW()-1)), "")

C列中复制/粘贴足够数量的单元格。

数组公式:在列C中选择足够数量的单元格,然后在公式栏中写入相同的公式,然后按Ctrl+Shift+Enter

答案 2 :(得分:0)

因此,如果您的数据在A1:B7范围内,则可以是公式:

=IFERROR(INDEX($A$1:$A$7,SMALL(IF($B$1:$B$7="A",ROW($A$1:$A$7)-ROW($A$1)+1),ROWS($A$1:A1))),"")

这是使用Ctrl + Shift + Enter应用的数组公式,您需要将其向下拖动。