我想根据几个下拉菜单的选择输出Excel中的一个选项。
例如,根据一个人的年龄,性别和大小,从多个选项中选择一个特定的衬衫设计,其中这三个变量可以从三个下拉菜单中选择,假设我有一个矩阵可以找出适当的选项如下:
我可能会用Excel实现这个功能吗?或者我必须使用Visual Basic吗?
谢谢!
答案 0 :(得分:1)
这里不需要VBA,只需要一些辅助逻辑和INDEX / MATCH公式:
选项必须是唯一的,每行每个选项组只有一个元素。在您的示例中,这意味着您需要拆分选项5,6和9,因为它们每个都有多个年龄组 - 请参阅黄线:
您需要以某种方式对选项进行编码,例如0-4 = 4,5-9 = 9,10-14 = 14,男性= 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))
=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))
=IFERROR(INDEX($A$3:$A$16,MATCH(M4,$J$3:$J$16,0)),"No option for this selection!")
请注意,如果所选选项不可用,这将显示一个小文本。
为了更好地理解,您可以找到example file here。