基于 2 个相关列表或变量的 Excel 查找公式

基于 2 个相关列表或变量的 Excel 查找公式

因此,我尝试创建一个使用两个相关列表的表格,我已经完成了,但是我需要第三个单元格来显示特定于列表中前两个选择的文本字符串。示​​例。我有几个类别 a、b、c 主题可供选择。从那里,每个主题都有几个子主题,然后根据子主题,我需要单元格 C4 显示该子主题的特定消息。我可以对消息字段使用什么公式?

答案1

我假设您在另一张表中的某个位置有一个包含这些文本消息的表格,如下所示:

a    a.1    Message1
a    a.2    Message2
b    b.1    Message3
b    b.2    Message4
b    b.3    Message5

然后在你的主表中,你将拥有

b    b.1    *lookup formula here*

公式如下

=VLOOKUP("b.1",INDEX(sheet1!B1:sheet1!B100, MATCH("b",sheet1!A1:sheet1!A100,0)):sheet1!C100,2,FALSE)

其中MATCH("b",sheet1!A1:sheet1!A100,0)返回“b”第一次出现的行号,然后使用索引将其转换为范围引用INDEX(sheet1!B1:sheet1!B100, *row where 'b' occurs*,0)):sheet1!C100。因此,此范围从主题“b”的子主题开始,一直到 C 中数据范围的末尾。然后使用此范围与 VLOOKUP 一起查找子主题“b.1”的第一次出现,并返回此范围第二列(即 C 列)中的消息。

答案2

另外,如果主题很少或子主题重复,您可以使用选择函数对消息进行硬编码。首先将主题和子主题转换为数字(即它们在列表中出现的顺序)。

=MATCH("b",A1:A100,0)
=MATCH("b.1",B1:B100,0)

现在使用这些数字作为 CHOOSE 的索引

=CHOOSE(MATCH("b",A1:A100,0),"topic A msg","topic B msg","topic C msg")

=CHOOSE(MATCH("b.1",B1:B100,0),"subtopic 1 msg","subtopic 2 msg","subtopic 3 msg")

然后,您可以使用 & 运算符将它们组合成一个单元格,即=CHOOSE(...) & ": " & CHOOSE(...)

相关内容