我有2张Excel工作表。一栏包含客户信息,发货地区和销售,一栏包含客户信息和地理编码信息(长/纬度)。我想做的是将Sheet2的CustomerID,LocationID,CustomerName列与相同名称的Sheet1列进行比较,如果它们匹配,则将经度,纬度列中的数据从Sheet2移到Sheet1上的相应列。我需要编译所有信息才能上传到地图系统。我不是Excel专家,下周将开始更高级的课程,并且我一直在使用vLookups,但从来没有能够将其用于此enter image description here。我应该使用其他东西吗?
在下面的示例中,第一个应该匹配并插入Sheet1,第二个不应该匹配。我们有大约7,000条记录要解析。
Sheet1
CustomerID LocationID CustomerName经度纬度Sales $发货 1234 1 Smith 125 DFW
4567 1琼斯450 DFW
Sheet2
CustomerID LocationID CustomerName经度纬度地址城市
1234 1史密斯25.xxx -97.xxx 1234主达拉斯
4567 2 Jones 25.xxx -97.xxx 452 Comm Buda
答案 0 :(得分:0)
这是一个复杂的查询,需要花费一些时间才能计算出14K(7K的经纬度)数据单元。
根据您提供的图像,将其放入Sheet1!D2中,然后向右拖动并向下填充。
=IFERROR(INDEX(Sheet2!D:D, AGGREGATE(15, 7, ROW($1:$9999)/((Sheet2!$A:$A=$A2)*(Sheet2!$B:$B=$B2)*(Sheet2!$C:$C=$C2)), 1)), "")
您也可以尝试SUMIFS。仅当三个值组合在Sheet2中是唯一的时这才起作用,因此可能需要COUNIFS,但如果没有它,它将更快。
=IF(COUNTIFS(Sheet2!$A:$A, $A2, Sheet2!$B:$B, $B2, Sheet2!$C:$C, $C2)=1, SUMIFS(Sheet2!D:D, Sheet2!$A:$A, $A2, Sheet2!$B:$B, $B2, Sheet2!$C:$C, $C2), "")
答案 1 :(得分:0)
使用magix Index
和Match
组合,例如在D2
中输入以下公式:
{=INDEX(Sheet2!D:D,MATCH(A2&B2&C2;Sheet2!A:A&Sheet2!B:B&Sheet2!C:C,0))}
在单元格E2
中,将公式放在下面:
{=INDEX(Sheet2!E:E,MATCH(A2&B2&C2;Sheet2!A:A&Sheet2!B:B&Sheet2!C:C,0))}
请注意,它们都是数组公式,需要通过 Ctrl Shift Enter
进行确认另一种可能的方式是使用=SUMPRODUCT()
,例如像在单元格D2
中那样:
=IFERROR(INDEX(Sheet2!D:D,SUMPRODUCT((A3=Sheet2!$A$1:$A$3)*(B3=Sheet2!$B$1:$B$3)*(C3=Sheet2!$C$1:$C$3)*ROW()),0),"")
请注意,这不是数组公式,因此在大数据上应该更快!