2017-05-10 100 views
1

我有一个属于两个组(A或B)的人员列表。我想创建一个列出属于组A的所有人的列。 我一直在想出一个数组公式,但我没有一个工作示例。任何帮助感谢!excel:使用公式筛选

姓名| Group |期望输出

Bob | A | Bob

Fred | B |埃里克

Matt | B |戴夫

Eric | A | Fred

Dave | A |
炖菜| B |
Fred | A |

提前

回答

1

为C列普通式:

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

复制/粘贴向下C柱足够数量的细胞。

阵列式:在C列选择足够数目的单元,并且写在公式栏中相同的公式,然后按Ctrl+Shift+Enter

+0

谢谢,我试过这个,但是我在row函数里面得到一个除零的分割。加载true/false数组,就像行函数一样,但除法失败。有任何想法吗? – Freelancer

+0

你好,我最终通过改变偏移量来获得这个工作。然而,我经常使用这个公式,并且它正在减慢我的整个工作表,并且在我试图通过它时需要很长时间来评估。关于如何使其更有效的任何想法。我一直在试图通过使用范围引用而不是整列来缩小范围,但我无法让它工作。 – Freelancer

+0

@Freelancer尝试像这样:'= IFERROR(INDEX($ A $ 1:$ A $ 100,AGGREGATE(15,6,ROW($ B $ 1:$ B $ 100)/($ B $ 1:$ B $ 100 =“A” ),ROW() - 1)),“”)''。另外,请尽量不要将它放在太多的细胞中,只有足够的细胞才能得到所有的细胞。 –

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

感谢,但我需要动态引用它以后。我需要单元格来引用不是数据透视表 – Freelancer

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,你将需要拖下来数组公式。

+0

谢谢,当我尝试这样做时,我只会在整个公式数组中填充相同的值,即第一行。有任何想法吗? – Freelancer

+0

你可以确认你是否使用了'Ctrl'+'Shift' +'Enter'。因为只有使用“输入”才能解决问题。 – zipa