创建相关数据验证列表,其中空白单元格定义为列表中的有效值

问题描述 投票:0回答:1

我有一个包含 3 列的表格 - “订单”、“状态”和“状态详细信息”,如下图 1 所示。

我想根据下图 2 中定义的列表(相应的“L2 代码”和“L3 代码”列)在“状态”和“状态详细信息”列中设置 2 个依赖数据验证列表。

我的期望是,当我从“状态”列中的下拉列表中选择一个值时,“状态详细信息”列中的下拉列表将仅显示适用于列状态中的选择的值。 例如,如果我在“状态”列中选择“HIT”,则“状态详细信息”中的唯一选项将是“HIT”。如果我在“状态”栏中选择“WH”,“状态详细信息”中的唯一选项将是“WHNS”。


图片 1


图 2

我在

"Status"
列中使用简单的数据验证列表,其中来源是:

=$C$5:$C$10

"Status Details"
中数据验证列表来源是

=OFFSET($C$5,MATCH(K5,$C$5:$C$10,0)-1,1)

问题是,当我在

"Status"
中选择[空白](如在空单元格中)时,虽然我希望在
"Status Details"
中得到[空白],但我却得到#N/A。

我尝试将以下公式放入数据验证列表中来解决该问题:

=IF(K5 <> "", OFFSET($C$5,MATCH(K5,$C$5:$C$10,0)-1,1), "")

但我收到以下警报:

列表源必须是分隔列表,或者对单行或单列的引用。

MATCH
函数是否无法返回空单元格的位置,或者其他什么?

底线,我希望“L3 代码”列表依赖于“L2 代码”,并且能够在下拉列表中给出一个空单元格作为有效选择。

validation excel-formula offset
1个回答
0
投票

MATCH函数会返回一个相对位置,它经常与INDEX一起使用来返回所需的实际值。但您也可以使用 XLOOKUP。

我不确定我是否理解你的问题,但这就是我获取第二个下拉列表的方法。

首先,我用命名范围命名两个列表,将第一个下拉列表放入 K5,然后在第二个下拉范围中应用此公式:

=XLOOKUP(K5 , List2 , List3 , "" , 1)

但是,如果我理解正确的话,第二个值总是与第一个值相对应?在这种情况下,您只需将公式拖放到单元格 L5 中,因为它会自动更新该单元格。

希望这可以帮助您开始,如果有不清楚的地方请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.