EXCEL中如何查找A表A列,B列,C列与B表A列,B列,C列相同的所对应B表中D列的数据

发布时间:2019-08-08 08:56:33

用A.B.C三个查找值匹配出表2的D列来,用什么公式啊

推荐回答

请使用VLOOKUP函数即可。

VLOOKUP——在数组第一列中查找,然后在行之间移动以返回单元格的值。即:

在表格数组的首列查找指定的值,并由此返回表格数组当前行中其他列的值。

VLOOKUP 中的 V 参数表示垂直方向。

当比较值位于需要查找的数据左边的一列时,可以使用 VLOOKUP 而不是 HLOOKUP。

语法

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

Lookup_value  为需要在表格数组第一列中查找的数值。Lookup_value 可以为数值或引用。若 lookup_value 小于 table_array 第一列中的最小值,VLOOKUP 返回错误值 #N/A。

Table_array  为两列或多列数据。使用对区域或区域名称的引用。table_array 第一列中的值是由 lookup_value 搜索的值。这些值可以是文本、数字或逻辑值。文本不区分大小写。

Col_index_num  为 table_array 中待返回的匹配值的列序号。Col_index_num 为 1 时,返回 table_array 第一列中的数值;col_index_num 为 2,返回 table_array 第二列中的数值,以此类推。如果 col_index_num :

小于 1,VLOOKUP 返回错误值 #VALUE!。大于 table_array 的列数,VLOOKUP 返回错误值 #REF!。

Range_lookup  为逻辑值,指定希望 VLOOKUP 查找精确的匹配值还是近似匹配值:

如果为 TRUE 或省略,则返回精确匹配值或近似匹配值。也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。

table_array 第一列中的值必须以升序排序;否则 VLOOKUP 可能无法返回正确的值。有关详细信息,请参阅排序数据。

如果为 FALSE,VLOOKUP 将只寻找精确匹配值。在此情况下,table_array 第一列的值不需要排序。如果 table_array 第一列中有两个或多个值与 lookup_value 匹配,则使用第一个找到的值。如果找不到精确匹配值,则返回错误值 #N/A。

注解

在 table_array 第一列中搜索文本值时,请确保 table_array 第一列中的数据没有前导空格、尾部空格、直引号(' 或 ")与弯引号(‘或“)不一致或非打印字符。否则,VLOOKUP 可能返回不正确或意外的值。有关详细信息,请参阅 CLEAN 和 TRIM。在搜索数字或日期值时,请确保 table_array 第一列中的数据未存储为文本值。否则,VLOOKUP 可能返回不正确或意外的值。有关详细信息,请参阅将保存为文本的数字转换为数字值。如果 range_lookup 为 FALSE 且 lookup_value 为文本,则可以在 lookup_value 中使用通配符、问号 (?) 和星号 (*)。问号匹配任意单个字符;星号匹配任意字符序列。如果要查找实际的问号或星号,请在该字符前键入波形符 (~)。

其他回答

建议简单化处理:

复制表1数据到表2,更改颜色为红色(为了便于观察)

按ABC列排序(重复数据中,原数据肯定在上方)

在E列输入公式,以E2为例,输入数组公式:=IF(A2:C2=A3:C3,"目标",""),三键确认后下拉填充

之后的事情你自己就会处理了吧。也可以一次性选择E列空格,删除所在行。

应该使用SUMPRODUCT()函数

范例:

=SUMPRODUCT(('A表'!$A$2:$A$21=A2)*('A表'!$B$2:$B$21=B2)*('A表'!$C$2:$C$21=C2)*('A表'!$D$2:$D$21)

以上问题属网友观点,不代表本站立场,仅供参考!