Excel:数据验证源

Excel:数据验证源,excel,excel-formula,Excel,Excel Formula,我有一个列表,我想根据另一个单元格值显示某些数据。我们称之为“A1单元” 在我的逻辑中,“单元格A1”的每个值都表示不同的列表项 问题是,当我向“单元格A1”可能包含的数据中添加其他值时,公式变得很长,无法放入源字段中 例如,如果“单元格A1”的可能值为老虎、狗、猫、狮子、马、羊和火鸡,则条件为: =IF(D4="Tigre";'Sheet1'!$B$2:$B$1000;IF(D4="Dog";'Sheet2'!$B$2:$B$1000;IF(D4="Cat";'Sheet3'!$B$2:$B$

我有一个列表,我想根据另一个单元格值显示某些数据。我们称之为“A1单元”

在我的逻辑中,“单元格A1”的每个值都表示不同的列表项

问题是,当我向“单元格A1”可能包含的数据中添加其他值时,公式变得很长,无法放入源字段中

例如,如果“单元格A1”的可能值为老虎、狗、猫、狮子、马、羊和火鸡,则条件为:

=IF(D4="Tigre";'Sheet1'!$B$2:$B$1000;IF(D4="Dog";'Sheet2'!$B$2:$B$1000;IF(D4="Cat";'Sheet3'!$B$2:$B$1000;IF(D4="Lion";'Sheet4'!$B$2:$B$1000; IF(D4=" Horse";'Sheet5'!$B$2:$B$1000;IF(D4="Sheep";'Sheet6'!$B$2:$B$1000;IF(D4=" Turkey";'Sheet7'!$B$2:$B$1000;IF(D4="Val8";'Sheet8'!$B$2:$B$1000;""))))))))))

你知道如何解决这个问题,或者如何优化条件公式吗

PS:我是一个法国用户,所以我为我的英语不好道歉!而且,我知道我需要使用“SI”而不是“IF”:


谢谢。

正如我从您的示例中看到的,
Val1-Val2等。
是重定向到特定工作表的关键。您可以将这些“VAL”和工作表名称之间的“映射”数据写入某个位置(可能在隐藏工作表或任何可用/隐藏列中),并在验证公式中使用
INDIRECT
VLOOKUP
的组合。在本例中,假设我在工作表“映射”中使用列
G:H

现在,您的数据验证公式可以如下所示:

=INDIRECT("'"&VLOOKUP($D$4,mapping!$G$1:$H$3,2,0) &"'!$B2:$B1000")
p、 然后,您可以使列
映射!G1:G3
保存键的单元格$D$4的数据验证列表


这里我还注意到,如果范围不总是相同的(与您的示例不同,在您的示例中,它们都是
B2:B1000
),您还可以通过将范围包括在重定向列(在我的示例中是H列)中来“完成”映射。

我认为您可能在进行所谓的依赖数据验证


在这里查看逐步教程

好的,请详细说明您的条件设置,什么样的条件?这里有无限的表格吗?我的意思是,如果这个值只是一个粗略的“valN”格式,请提取最后一个字母,并将其与“sheet”连接起来,谢谢你的回答!对不起,如果我不清楚,这只是一个例子!“真实值”不是无限的,不尊重“ValN”格式!你能更具体地说明你的情况吗?我改变了值!值之间以及值与工作表名称之间没有关系。谢谢!非常有用。下拉解决方案非常有用。谢谢!非常有用。
=INDIRECT("'"&VLOOKUP($D$4,mapping!$G$1:$H$3,2,0) &"'!$B2:$B1000")