2017-05-10 102 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