2017-02-23 99 views
0

我有以下片材,「模塊」細胞值取決於數據驗證

| A   | B   | C 
--- |-------- |-------- |----- 
1 | Module | Status | ... 
2 | One  | FAIL  | ... 
3 | Two  | PASS  | ... 
4 | Three  | PASS  | ... 
5 | Four  | FAIL  | ... 

和「模塊細節」

| A     | B    | C     
--- |--------------- |------------- |------------------- 
1 |     | Module name | Show Failed (Y/N) 
2 | Select Module  | ___________ | Y     

是否有可能數據驗證添加到'Module Details'!B2所以,它需要C2考慮到?

=IF(
    $C$2="Y", 
    'Modules'!$A$2:$A$5, 
    "?" 
) 

是否可以做它的公式或是VBA的唯一選擇?

+0

做''Modules'!$ A $ 2:$ A $ 5''如果'C2'是'Y'?如果C2是'N',那麼行爲應該是什麼? – gbavba

+0

可能通過公式。必須使用名稱管理器還有一些其他技巧。 – harun24hr

+0

@gbavba它應該顯示「Modules」的一個子集!$ A $ 2:$ A $ 5'其中''Modules'!Bn'是'PASS'或者不是'FAIL'(都適用於這個場景) –

回答

0

您可以使用命名範圍來完成此操作。 爲清楚起見,您可以創建3:

ModulesAll:   =Modules!$A$2:$A$5 
ModulesPassedOnly: =INDEX(Modules!$A:$A;MATCH("PASS";Modules!$B:$B;0)):INDEX(Modules!$A:$A;MATCH("PASS";Modules!$B:$B;1)) 
ShowModules:  =IF('Module Details'!$C$2="Y"; ModulesAll; ModulesPassedOnly) 

最後,你可以添加數據驗證,以單元格B2,可以選擇一個目錄,並把「= ShowModules」作爲源要顯示的內容