2017-05-12 67 views
1

我很新到Excel,但我有以下的情況下拉:Excel中:填充用[獨特column_A的細胞,其中column_B值= someValue中]

我有工作表Sheet1其中包含:

  • 用戶輸入在column_A
  • 用戶選擇YES /在column_B NO下拉列表中,它引用的兩項目列表數值(是,否)上的隱藏Sheet3

我有Sheet2它是含有:

  • 含有Sheet1:column_A所有唯一值,其中用戶已選擇了選擇「YES」到YES排A的用戶選擇的下拉/ NO在Sheet1:column_B下拉。

到目前爲止,我有一個名爲列表Column_A_Values用下面的公式:

=OFFSET(`Sheet1`!$A$1,0,0, COUNTA(Sheet1!$A$1:$A$1000)+99) 

上的隱藏Sheet3,我在Sheet3!column_B下面的公式,它試圖生成唯一值的列表,其中用戶選擇在Sheet1:column_B的YES/NO下拉列表中選擇「YES」。這並不工作,但我相信這是正確的軌道上:

=INDEX(Column_A_Values,MATCH(0,COUNTIF($B$1:$B15,Column_A_Values)+("YES"<>Sheet1$B15),0)) 

最後,我在Sheet2中引用命名列表包含以下公式的下拉列表:

=OFFSET(Sheet3!$B$2, 0, 0, COUNT(IF(Sheet3!$B$2:$B$1000="", "", 1)), 1) 

如果我道歉任何這些都不明確,並會在必要時予以澄清。如果有人願意提供幫助,我將不勝感激。我無法獲得第二個配方的正確工作,所以這是我的首要任務,但我也非常感謝您提供有關獲得Sheet2的項目符號功能的優異方法的任何建議。再一次,我對Excel很新,但我正在學習。

回答

2

如果你不想使用按Ctrl + Shift + Enter鍵數組公式溶液型,你可以嘗試:

指數 - SUMPRODUCT公式

=IFERROR(INDEX(Column_A_Values,(SUMPRODUCT(SMALL(--(Column_B_Values="YES")*ROW(Column_A_Values),COUNTIF(Column_B_Values,"<>"&"YES")+ROW(A1))))),"") 

但無論是數組公式或去,如果它不爲你沒關係不,這裏有一些另外的功能,作爲不同的選項,不同於親愛的@ASH建議的。

指數公式 - 陣列系列

=IFERROR(INDEX(Column_A_Values,(SMALL(IF(Column_B_Values="YES",ROW(Column_A_Values)),ROW(A1)))),"") 
Don't Forget to End your function by clicking ctrl+shift+enter, that's really important. 

--- 偏移式 - 陣列系列

=IFERROR(OFFSET($A$1,SMALL(IF(Column_B_Values="YES",ROW(Column_B_Values)-MIN(ROW(Column_B_Values))+1),ROWS($1:1))-1,0),"") 
Don't Forget to End your function by clicking ctrl+shift+enter, that's really important. 

**在這些唯一的例子你需要做的是將Column_B_Values定義爲您Yes/No ColumnSheet1 - Column_B **

然後作爲@ASH再次提到,你命名爲驗證列表可以設置爲這個公式:

=OFFSET(Sheet3!$B$2,0,0, COUNT(Sheet3!$B:$B))

+1

哇,這麼多的選擇菜單上:)。有一些非數組選項是非常好的。 –

2

爲了產生從Column_A_Values在表Sheet 3的B列的唯一值的列表中,在Sheet3!B2鍵入此陣列式然後複製/粘貼往下通過塔足夠數量的行:

Sheet3!B2: 
=IFERROR(INDEX(Column_A_Values, MATCH(1, 
    (OFFSET(Column_A_Values,0,1)="Yes")*(COUNTIFS(B$1:B1,Column_A_Values)=0), 
    0)),"") 

Ctrl+Shift+Enter 

最後,您命名爲驗證列表可以設置爲這個公式:

=OFFSET(Sheet3!$B$2,0,0, COUNT(Sheet3!$B:$B))