我对Excel很新,但我遇到以下情况:
我有Sheet1,其中包含:
column_A
column_B
中用户选择的是/否下拉列表,该列表引用了隐藏Sheet3
上的两项列表(是,否)。我要Sheet2
包含:
Sheet1:column_A
中用户已选择选择的行的所有唯一值"是"到Sheet1:column_B
的YES / NO下拉菜单。 到目前为止,我有一个名为Column_A_Values
的列表,其中包含以下公式:
=OFFSET(`Sheet1`!$A$1,0,0, COUNTA(Sheet1!$A$1:$A$1000)+99)
在隐藏的Sheet3
上,我在Sheet3!column_B
中有以下公式,它会尝试生成一个唯一值列表,用户已选择选择" YES"到Sheet1:column_B
中的YES / NO下拉列表。这不起作用,但我相信它在正确的轨道上:
=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很陌生,但是我一直在学习。
答案 0 :(得分:2)
要从Sheet3的B列中的Column_A_Values
生成唯一值列表,请在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))
答案 1 :(得分:2)
如果您不想使用 Ctrl + Shift + Enter 数组公式解决方案类型,您可以尝试:
1 索引 - SumProduct公式
=IFERROR(INDEX(Column_A_Values,(SUMPRODUCT(SMALL(--(Column_B_Values="YES")*ROW(Column_A_Values),COUNTIF(Column_B_Values,"<>"&"YES")+ROW(A1))))),"")
但是如果对你来说无论是否通过数组公式,这里有一些其他功能,作为一个不同于@ A.S.H 建议的选项。
2 索引公式 - 数组系列
=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.
3 --- 偏移公式 - 数组系列
=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 Column
中的Sheet1 - Column_B
**
然后,正如@ A.S.H再次提到的那样,验证的命名列表可以设置为以下公式:
=OFFSET(Sheet3!$B$2,0,0, COUNT(Sheet3!$B:$B))