我有两张桌子。表A和表B.
表A包含以下三列:" Attribut ID"," Attribut Name"和"价值"。 表A中的示例行(表示新列的逗号):
表B包含以下三列:"产品编号"," Attribut ID"和"价值" 表B中的示例行(逗号表示新列):
客户端将使用工作表输入数据,因此我希望尽可能简化和验证所有内容,以最大限度地减少错误。目前客户投入了"价值"在表B中(在示例中为3M)手动。
我的目标是根据表A将其更改为基于下拉列表,或者至少进行验证。因此,如果将10000作为" Attribut ID"在表B中,只有" 3M"," 5M"和" 7M"可以作为价值观。
我发现这个topic似乎非常相似,但我一直无法弄清楚如何使用它。任何帮助将非常感激。如果可能,首选避免使用VBA。
我成功地调整了Axcel的答案。这是修改后的代码,使其适应我的工作表:
=INDEX('Attribut værdier'!$C:$C;MATCH(INDIRECT("RC[-2]";FALSE);'Attribut værdier'!$A:$A;0)):INDEX('Attribut værdier'!$C:$C;MATCH(INDIRECT("RC[-2]";FALSE);'Attribut værdier'!$A:$A;1))
我已经改变了#34;,"到";"和表格参考。除此之外,我没有做任何改变,一切正常。
答案 0 :(得分:1)
假设我们遇到这样的情况:
请注意,A列中的Attribut ID按升序排序。
使用引用
的名称管理器创建名为“ValueList”的名称=INDEX(Sheet1!$C:$C,MATCH(INDIRECT("RC[-1]",FALSE),Sheet1!$A:$A,0)):INDEX(Sheet1!$C:$C,MATCH(INDIRECT("RC[-1]",FALSE),Sheet1!$A:$A,1))
INDIRECT中的“RC [-1]”必须相应地更改Excel的语言版本。对于德语Excel,它必须是“ZS(-1)”。
此命名范围将动态获取C列中从“Attribut ID”首次出现到A列中此“Attribut ID”的最后一次出现的范围。“Attribut ID”取自左侧的单元格它所分配的单元格。
然后,您可以将此命名范围用作数据验证(Source = ValueList)中列表的源,以获取G列中的下拉列表。