Excel - 2 个下拉列表将行列交叉点单元格值输出到第三个单元格

Excel - 2 个下拉列表将行列交叉点单元格值输出到第三个单元格

我正在创建一个电子表格,用于计算游戏中的制作成本以确定利润率。我的电子表格中有一个部分,我希望在其中有两个下拉列表。在第一个下拉列表中,我想选择表格的列标题,在第二个下拉列表中,我想选择表格的行标题。在第三个单元格中,我想在公式中使用位于此交叉点的单元格中的值。我确信一定有办法做到这一点,但我还没有在 Google 上找到类似的东西。我找到的所有下拉列表依赖关系教程都使用不同的方法,不适合我的情况。非常感谢。

答案1

好的,无需借助 VBA 脚本,您必须制作两个小表,每个表有两列,第一列是索引,第二列是行/列标题。

因此,我们假设您的原始表格有 5 行 3 列,并带有简单的标题,例如 Row1、Row2、Row3、Row4、Row5 和 Col1、Col2、Col3。并且此表从 开始A1,因此实际值从 开始B2并一直到D6

在此处输入图片描述

  1. 在新列中输入行的数字索引,即 1、2、3、4、5
  2. 在右侧的列中输入行标题
  3. 对列重复上述步骤

因此你将得到如下结果:

在此处输入图片描述

接下来,在功能区上的“开发人员”选项卡中,单击Insert> Combo Box (ActiveX Control)。在您想要放置下拉列表的位置创建两个组合框。

如果您未处于设计模式,请单击设计模式。

  1. 右键单击第一个组合框,然后单击“属性”。
  2. ColumnCount字段中输入 2
  3. ColumnWidths字段中输入 0
  4. LinkedCell字段中,输入屏幕外的单元格值,例如,Y1
  5. ListFillRange字段中,输入涵盖行索引和行标题列的范围,以上面的图片为例,我将输入M1:N5
  6. 对列的第二个组合框重复上述五个步骤(继续示例,步骤 4 的值可以Z1
  7. 现在我们可以用以下公式得到你想要的交点:=INDEX(B2:D6,Y1,Z1)

基本上,通过LinkedCell组合框的值,行和列索引分别填充在和中Y1Z1从那里,我们使用Index函数获取表中这些行和列偏移处的值B2:D6

注意:对于行,您可以在现有行标题的右侧添加一列并输入行索引(并隐藏该列)。但对于列,您必须创建一个新表,因为ListFillRange组合框的字段不接受水平数组。(它确实接受,但不适合我们需要它的目的。)

相关内容