0

我想根据几个下拉菜单的选择在 Excel 中输出多个选项之一。

例如,根据一个人的年龄、性别和体型从多个选项中选择特定的衬衫设计,这三个变量可以从三个下拉菜单中选择,假设我有一个矩阵来找出适当的选项如下:

选项矩阵

Excel 中是否有我可以用来实现此目的的函数?还是我必须使用 Visual Basic?

谢谢!

4

1 回答 1

1

这里不需要 VBA,你只需要一些辅助逻辑和 INDEX/MATCH 公式:

  1. 选项必须是唯一的,并且每行每个选项组只有一个元素。在您的示例中,这意味着您需要拆分选项 5、6 和 9,因为它们每个都有多个年龄组 - 请参见黄线:
    在此处输入图像描述

  2. 您需要以某种方式对您的选项进行编码,例如 0-4=4、5-9=9、10-14=14、Male = M 等。然后您可以将每个选项翻译成一个唯一的 3 字母文本,例如选项 1 将是4ML。在以下示例中,使用以下公式在单元格 J3 中构造 ID:

    =INDEX($B$1:$D$1,MATCH("x",B3:D3))&INDEX($E$1:$F$1,MATCH("x",E3:F3))&INDEX($G$1:$ I$1,MATCH("x",G3:I3))
    在此处输入图像描述

  3. 您还需要将下拉菜单中的选择转换为代码。黄色单元格的公式为:
    =INDEX($B$1:$D$1,MATCH(M1,$B$2:$D$2,0))
    &INDEX($E$1:$F$1,MATCH(M2,$E$2:$F$2,0))
    &INDEX($G$1:$I$1,MATCH(M3,$G$2:$I$2,0))
    
    在此处输入图像描述
  4. 现在您只需使用以下公式将代码转换为选项:
=IFERROR(INDEX($A$3:$A$16,MATCH(M4,$J$3:$J$16,0)),"此选择没有选项!")

请注意,如果所选选项不可用,这将显示一个小文本。

为了更好地理解,您可以在此处找到示例文件

于 2013-02-13T09:19:19.740 回答