通过在Excel中使用数组公式 ,我们可以创建一个查找公式,该公式使用多个条件来查找数据库或数据表中的信息。
本教程包含一个逐步创建查找公式的示例,该查找公式使用多个标准在示例数据库中查找钛Widgets的供应商。
遵循以下教程主题中的步骤,将引导您创建和使用上图中所示的公式。
09年01月
输入教程数据
为了遵循教程中的步骤,将上图中显示的数据输入到以下单元格中 。
- 将数据的顶部范围输入到单元格D1到F2中
- 在单元格D5到F11中输入第二个范围
本教程不包含图像中显示的格式,但这不会影响查找公式的工作方式。
有关类似于上述格式选项的信息可在此基本Excel格式教程中找到。
09年02月
启动INDEX功能
INDEX函数是Excel中具有多种形式的少数几个函数之一。 该函数具有数组表单和参考表单 。
数组表单返回数据库或数据表中的实际数据,而参考表单则为您提供表格中数据的单元格引用或位置。
在本教程中,我们将使用Array Form,因为我们想知道钛部件供应商的名称,而不是我们数据库中对该供应商的单元格引用。
每个表单都有一个不同的参数列表,在开始函数之前必须选择它们。
教程步骤
- 单击单元格F3使其成为活动单元格 。 这是我们将输入嵌套函数的地方。
- 点击功能区菜单的公式选项卡。
- 从功能区中选择查找和参考以打开功能下拉列表。
- 点击列表中的INDEX ,弹出Select Arguments 对话框 。
- 在对话框中选择数组row_num,col_num选项。
- 单击确定以打开INDEX功能对话框。
09年3月
输入INDEX函数数组参数
第一个参数是Array参数。 该参数指定要搜索的期望数据的单元格 范围 。
对于本教程,这个参数将成为我们的示例数据库 。
教程步骤
09年9月4日
启动嵌套MATCH功能
将一个函数嵌套在另一个函数中时 ,无法打开第二个或嵌套函数的对话框以输入必要的参数 。
嵌套函数必须作为第一个函数的参数之一输入。
在本教程中,嵌套的MATCH函数及其参数将被输入到INDEX函数对话框的第二行 - Row_num行。
需要注意的是,当手动输入函数时,函数的参数之间用逗号“,”分隔。
输入MATCH函数的Lookup_value参数
输入嵌套MATCH函数的第一步是输入Lookup_value参数。
Lookup_value将是我们希望在数据库中匹配的搜索项的位置或单元格引用 。
通常Lookup_value只接受一个搜索条件或术语。 为了搜索多个标准,我们必须扩展Lookup_value 。
这是通过使用& 字符串连接或连接两个或多个单元格引用来完成的。
教程步骤
- 在INDEX函数对话框中,单击Row_num行。
- 键入函数名称匹配,后跟一个打开的圆括号“ ( ”
- 单击单元格D3将该单元格引用输入到对话框中。
- 在单元格引用D3之后键入一个&符号“ & ”以添加第二个单元格引用。
- 单击单元格E3 ,将第二个单元格引用输入到对话框中。
- 在单元格引用E3之后键入逗号“,”以完成MATCH函数的Lookup_value参数的输入。
- 将INDEX功能对话框保留为教程中的下一步。
在本教程的最后一步中,Lookup_values将被输入到工作表的单元格D3和E3中。
09年05月05日
添加MATCH函数的Lookup_array
这一步包括为嵌套的MATCH函数添加Lookup_array 参数 。
Lookup_array是MATCH函数将搜索的单元格范围,用于查找本教程前一步中添加的Lookup_value参数。
由于我们在Lookup_array参数中确定了两个搜索字段,因此我们必须对Lookup_array执行相同的操作 。 MATCH函数仅为指定的每个术语搜索一个阵列。
要输入多个数组,我们再次使用&符号连接数组。
教程步骤
这些步骤将在INDEX函数对话框的Row_num行的上一步中输入逗号后输入。
- 在逗号后面单击Row_num行将插入点放置在当前条目的末尾。
- 高亮显示工作表中的单元格D6到D11以输入范围。 这是函数要搜索的第一个数组。
- 在单元格引用D6:D11之后键入一个&符号“ & ”,因为我们希望函数搜索两个数组。
- 高亮显示工作表中的单元格E6到E11以输入范围。 这是函数要搜索的第二个数组。
- 在单元格引用E3之后键入逗号“,”以完成MATCH函数的Lookup_array参数的输入。
- 将INDEX功能对话框保留为教程中的下一步。
09年06月
添加匹配类型和完成匹配功能
MATCH函数的第三个也是最后一个参数是Match_type参数。
该参数告诉Excel如何将Lookup_value与Lookup_array中的值进行匹配。 选项是:1,0或-1。
这个参数是可选的。 如果省略,则该函数使用默认值1。
- 如果Match_type = 1或省略:MATCH将查找小于或等于Lookup_value的最大值。 Lookup_array数据必须按升序排序。
- 如果match_type = 0:MATCH将找到与Lookup_value完全相同的第一个值。 Lookup_array数据可以按任意顺序排序。
- 如果Match_type = -1:MATCH找到大于或等于Lookup_value的最小值。 Lookup_array数据必须按降序排列。
教程步骤
这些步骤将在INDEX函数对话框的Row_num行的上一步中输入逗号后输入。
- 在Row_num行的逗号后面,输入一个零“ 0 ”,因为我们希望嵌套函数返回与我们在单元格D3和E3中输入的术语完全匹配。
- 键入结束括号“ ) ”来完成MATCH功能。
- 将INDEX功能对话框保留为教程中的下一步。
09年7月
返回INDEX函数
现在MATCH函数完成了,我们将移动到打开对话框的第三行并输入INDEX函数的最后一个参数 。
这第三个也是最后一个参数是Column_num参数,它告诉Excel D6到F11 范围内的列号,它可以找到我们想要的函数返回的信息。 在这种情况下, 钛部件的供应商。
教程步骤
- 点击对话框中的Column_num行。
- 由于我们正在查找范围D6到F11的第三列中的数据,因此在此行中输入第三个“ 3 ”(不含引号)。
- 不要单击确定或关闭INDEX功能对话框。 它必须在本教程的下一步保持打开状态 - 创建数组公式 。
09年08月08日
创建数组公式
在关闭对话框之前,我们需要将我们的嵌套函数转换为数组公式 。
数组公式可以在数据表中搜索多个项。 在本教程中,我们希望匹配两个术语:第1列的Widgets和第2列的钛。
在Excel中创建数组公式通过同时按下键盘上的CTRL , SHIFT和ENTER键来完成。
将这些键按在一起的效果是用大括号包围该函数:{}指示它现在是一个数组公式。
教程步骤
- 如果完成的对话框仍然从本教程的上一步打开,请按住键盘上的CTRL和SHIFT键,然后按下并释放ENTER键。
- 如果操作正确,对话框将关闭,并在单元格F3中出现#N / A错误 - 我们输入函数的单元格。
- 单元格 F3中出现#N / A错误,因为单元格D3和E3是空白的。 D3和E3是我们告诉函数在本教程的第5步中查找Lookup_values的单元格。 一旦数据被添加到这两个单元格中,错误将被来自数据库的信息所取代。
09年9月9日
添加搜索条件
本教程的最后一步是将搜索条件添加到我们的工作表中。
正如上一步所述,我们正在寻找匹配第1列的Widgets和第2列的Titanium的术语。
如果且仅当我们的公式在数据库的适当列中找到两个术语的匹配项,它才会返回第三列中的值。
教程步骤
- 点击单元格D3。
- 键入Widgets并按下键盘上的Enter键。
- 点击单元格E3。
- 键入Titanium并按下键盘上的Enter键。
- 供应商名称Widgets Inc.应出现在单元格F3中 - 该功能的位置,因为它是列出销售Titanium Widgets的唯一供应商。
- 当你点击单元格F3的完整功能
{= INDEX(D6:F11,MATCH(D3&E3,D6:D11&E6:E11,0),3)}
出现在工作表上方的公式栏中 。
注意:在我们的例子中,钛部件只有一个供应商。 如果有多个供应商,那么首先在数据库中列出的供应商将由该功能返回。