根据用户从下拉字段输入的内容进行 Excel 计算

根据用户从下拉字段输入的内容进行 Excel 计算

我们正在使用 Excel 2003,但必要时可以升级。我们需要根据两个输入计算(或查找)一个值。两个输入都将是 Excel 下拉框。

第一个下拉菜单的值有69121620第二个下拉菜单的值有6x610x1020x20

我们如何查找相应的值并将结果放入单独的单元格中?

在此处输入图片描述

答案1

没必要那么复杂。例如以下。

输入和数据表的屏幕截图

  1. 选择列标题并将其命名为 Input1。(示例中的范围为 E1:I1。)
  2. 选择行标题并将其命名为 Input2。(范围 D2:D4)
  3. 选择您的数据并将其命名为数据。(范围 E2:I4)
  4. 使用数据验证来获取下拉菜单。
    • 选择单元格 B2 并单击数据 - 数据验证。
    • 设置验证标准允许至List和来源至=Input1
    • 对输入消息和错误警报进行任意操作。(我将它们关闭了。)
    • 重复您的第二次输入。(单元格B3获取源=Input2
  5. 在结果单元格中输入此公式=INDEX(Data,MATCH(B3,Input2,0),MATCH(B2,Input1,0))

该公式的工作原理如下:

MATCH(lookup_value, lookup_array, [match_type])

MATCH有点类似于,VLOOKUP只不过它返回的是lookup_value中的 相对位置,而不是单元格/单元格值lookup_array。在 区域上使用它Input1会返回相对列位置,而在 上使用它Input2会返回相对行。设置match_type为 0 表示 Excel 仅返回精确匹配。

INDEX(reference, row_num, [column_num], [area_num])

INDEXData正在返回在的引用行Input2和 的引用列中找到的单元格Input1

注意:在 Excel 2010 中(我不确定早期版本是否如此),数据表甚至不需要与输入和结果单元格位于同一工作表上。

答案2

有一种方法可以做到这一点,但它并不像你想象的那么直观。为了实现你想要的效果,你可以使用与那里相同的表格布局类型,但你还需要添加一些内容:

  • 用户数据表:这可以是与您已有的格式相同的格式,尺寸在左侧,类型/大小在顶部,相关数据在左侧。

用户数据表

  • 表单数据和索引:由于 Excel 表上有组合框(即表单控件),因此您需要能够正确绑定该信息。为此,请查看此答案底部的绑定部分;但只需说,您需要告诉表单您有哪些维度和类型,以便它们出现在组合框中。您还需要告诉 Excel 表哪些索引对应于哪些值,因为组合框除了实际索引外不返回任何数据。

表单数据和索引

  • 结果和公式:用户可以选择他们想要的维度和类型,您可以看到数据是什么;结果也是用那里列出的公式计算的。您可以从数据中看到公式是如何组合在一起的。您需要根据您的工作表自定义范围和位置,以及您放置所有内容的位置,但这就是我给您的原因分解部分。

结果和公式


向 Excel 添加组合框

  • 点击“开发人员”,或者使用早期版本中的开发者菜单:

点击开发者选项卡

如果你没有开发人员选项卡或顶部的菜单,编辑您的偏好设置(通常在高级部分),然后检查或启用开发人员选项,这样你就有了菜单。你可以在这里查看这篇文章,了解更多详细信息: http://office.microsoft.com/en-us/excel-help/show-the-developer-tab-or-run-in-developer-mode-HA010173052.aspx

  • 单击“插入”,然后选择组合框

插入组合框

这会将实际的组合框添加到您的 Excel 表中,通常,除非您绘制所需的尺寸,否则您会得到一个大框:

大组合框

您可以通过右键单击组合框并根据需要拖动边缘来调整其大小。

  • 右键点击在新的组合框上,选择格式控制

右键单击以格式化控件

  • 配置按您需要的方式选择选项:
    • 输入范围:这些应该是组合框中所有选项的垂直列表
    • 蜂窝链接:这是您希望返回索引结果的地方。

配置属性

  • 当您使用组合框时,结果将返回:

结果示例

  • 将索引绑定到值:只需在组合框选项后指定索引计数,然后进行简单的查找:

如何将选项绑定到索引

相关内容