excel - 将多列与多列 2 表进行比较,如果数据匹配则返回不同的列
问题描述
我有 2 张 Excel 表格。一份包含客户信息、调度区域和销售,另一份包含客户信息和地理编码信息(长/纬度)。我想做的是将Sheet2的CustomerID、LocationID、CustomerName列与Sheet1的同名列进行比较,如果它们匹配,则将经度、纬度列中的数据从Sheet2移到Sheet1上的相应列。我需要上传到地图系统的所有信息。我不是 Excel 大师,下周开始更高级的课程,我一直在玩 vLookups,但从来没有能够让它在此处输入图像描述中工作。我应该使用别的东西吗?
在下面的示例中,第一个应该匹配并拉入 Sheet1,第二个不应该。我们有大约 7,000 条记录要解析。
表 1
CustomerID LocationID CustomerName 经度 纬度 Sales$ Dispatch 1234 1 Smith 125 DFW
4567 1 琼斯 450 DFW
表 2
CustomerID LocationID CustomerName 经度 纬度 地址 城市
1234 1 史密斯 25.xxx -97.xxx 1234 主达拉斯
4567 2 琼斯 25.xxx -97.xxx 452 通讯布达
解决方案
这是一个复杂的查找,计算 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), "")
推荐阅读
- css - 是什么导致了 Firefox 和 IE 上的列表项内的垂直错位,但在 Chrome 中却没有?
- linux - 将命令行参数打印到新的 Linux tex 文件中
- python - python中最有效的计算方式在对列表中查找对
- .net-core - 如何使用 Aes128CbcHmacSha256 创建令牌
- android - 从服务器下载文件时出现 Android SQLite 错误
- python - 计算特定值并将其写入文本文件的循环
- python - Python:如何在两个轴上附加到(稀疏)二维数组?
- ios - 如何在程序不崩溃的情况下结束 if-else 循环?
- java - 计算文本文件中的字母出现次数
- arrays - 更新旧代码,什么是 Array(_unsafeUninitializedCapacity: 1024, initializingWith: 0)