在 Excel 中,可以使用 VLOOKUP 函数或者 INDEX/MATCH 函数来跨表查找符合条件的值。
1. VLOOKUP 函数
VLOOKUP 函数可以在一个表格中查找符合条件的值,并返回该值所在行的指定列的值。语法如下:
```
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
```
其中:
- lookup_value:要查找的值。
- table_array:要在其中查找的表格区域。
- col_index_num:要返回的值所在列的序号。
- range_lookup:可选参数,指定查找方式。如果为 TRUE 或省略,则进行近似匹配;如果为 FALSE,则进行精确匹配。
例如,假设有两个表格 A 和 B,要在表格 A 中查找符合条件的值,并返回表格 B 中对应的值,可以使用以下公式:
```
=VLOOKUP(lookup_value, B!table_array, col_index_num, [range_lookup])
```
其中,lookup_value 是要查找的值,B!table_array 是表格 B 的区域,col_index_num 是要返回的值所在列的序号。
2. INDEX/MATCH 函数
INDEX/MATCH 函数可以在一个表格中查找符合条件的值,并返回该值所在行的指定列的值。语法如下:
```
INDEX(array, MATCH(lookup_value, lookup_array, [match_type]), [column_index_num])
```
其中:
- array:要在其中查找的表格区域。
- lookup_value:要查找的值。
- lookup_array:要在其中查找 lookup_value 的列。
- match_type:可选参数,指定查找方式。如果为 1 或省略,则进行近似匹配;如果为 0,则进行精确匹配。
- column_index_num:可选参数,指定要返回的值所在列的序号。
例如,假设有两个表格 A 和 B,要在表格 A 中查找符合条件的值,并返回表格 B 中对应的值,可以使用以下公式:
```
=INDEX(B!table_array, MATCH(lookup_value, A!lookup_array, [match_type]), [column_index_num])
```
其中,B!table_array 是表格 B 的区域,lookup_value 是要查找的值,A!lookup_array 是表格 A 中要查找 lookup_value 的列。
可以使用 VLOOKUP 函数来在不同的表格之间查找符合条件的值。其基本格式为:VLOOKUP(要查找的值,查找的表格范围,返回的列数,精确匹配/近似匹配)。其中,要查找的值可以是一个值或单元格引用,查找的表格范围则需要包含要查找的列和返回的列,返回的列数表示要从查找的表格范围中返回哪一列,精确匹配/近似匹配指定是否执行精确匹配。
例如,假设我们有两个表格,一个是订单表,另一个是产品表。我们想要在订单表中查找每个产品名称所对应的价格。可以使用以下公式在订单表中添加一个“价格”列:
=VLOOKUP(B2,产品表!$A$2:$B$10,2,FALSE)
其中,B2 是产品名称列中的第一个单元格, $A$2:$B$10 是产品表中包含产品名称和价格列的范围,2 表示要返回价格列,FALSE 表示执行精确匹配。
拖动该公式至所有单元格并可自动应用于整个表。如果产品表和订单表不在同一工作簿中,则需要将链接到正确的工作簿中。
此外,还可以使用 INDEX 和 MATCH 函数组合完成跨表查找,这种方法更加灵活,可以查找任何位置的值,但需要稍微复杂一些。