在二维Excel数组中搜索值,返回相邻单元格的值
我在上两节编程课中一直在浏览这个网站,我认为加入这个精彩的社区是值得的 简而言之,我想创建一个“发票制作人”,它允许人们首先通过A1中的下拉框选择一个类别,然后通过B1中的下拉框选择该类别中的项目。然后Excel将在下一列C1中自动填写价格 基本上有2个下拉框(不知道怎么称呼它:级联、嵌套、依赖),当两个下拉框都填满时,返回一个价格。例如:在二维Excel数组中搜索值,返回相邻单元格的值,excel,range,names,invoice,defined,Excel,Range,Names,Invoice,Defined,我在上两节编程课中一直在浏览这个网站,我认为加入这个精彩的社区是值得的 简而言之,我想创建一个“发票制作人”,它允许人们首先通过A1中的下拉框选择一个类别,然后通过B1中的下拉框选择该类别中的项目。然后Excel将在下一列C1中自动填写价格 基本上有2个下拉框(不知道怎么称呼它:级联、嵌套、依赖),当两个下拉框都填满时,返回一个价格。例如: A B C 1 Category Item [Price] 两个下拉列表都使用引用定义名称的数据验证,该名称基于工作表“数据库”中
A B C
1 Category Item [Price]
两个下拉列表都使用引用定义名称的数据验证,该名称基于工作表“数据库”中的数组。此表的格式如下所示:
category1 price category2 price category3 price category4 price ...
item1 $xx item1 $xx item1 $xx item1 $xx
item2 $xx item2 $xx item2 $xx item2 $xx
我之所以使用这个列安排,主要是因为它允许无限期地扩展每个类别。如果你有更简单的方法,请告诉我
基本上,要在C1中打印价格,我的目标是在2D Excel数据库中查找项目名称,并立即将单元格返回到其右侧。理想情况下,C1中的公式将使用单元格A1确定要搜索的类别,并在此列中搜索B1中相应的项目名称。然后,它将+1向右偏移,从而参考价格
至于公式,我有一些粗略的伪代码,但我混淆了VLOOKUP、OFFSET、MATCH和INDEX。基本上:
=INDEX( "defined name of my entire database" , MATCH( B1, **column corresponding to chosen component** , 0 ) + 1 , MATCH( A1 , components , 0 ) )
在我看来,索引将在给定列中返回行+1项的值。第一个匹配项将找到在其中找到项目的行,第二个匹配项将确定在其中找到类别的列
现在我的问题是,如何使第一次匹配搜索只搜索与正确类别对应的列
老实说,我不知道我的伪代码是否正确。我将其转换为公式,它只在单元格中返回#N/A
非常感谢您的帮助 我会尝试以下方法: 将数据库工作表的第一列向右偏移如此多的列,搜索的类别是如何从左侧偏移的。然后我们有了这个类别的价格栏,因为如果它匹配第一个类别,我们就抵消了1栏,如果它匹配第二个类别,我们就抵消了3栏,依此类推 从该列中,指示与“找到的偏移量-1”列(类别列)中与搜索项名称匹配的行相同的行中的值