根据列值,根据其他两个列值划分大型列表

时间:2017-12-03 08:25:23

标签: excel excel-vba excel-formula vba

我有两个大清单。一个是商店列表,一个是客户列表。我使用纬度和经度之间的距离公式将商店编号映射到客户列表。我遇到的问题是我需要每一个" store"在商店列表中至少分配一个客户。 (客户列表可以在50k +之间)我手动对映射的商店进行计数,索引商店列表并找到任意零。然后我将通过该0商店邮政编码过滤并找到具有最大计数的映射商店并将其除以相等的组。我正在寻找一种方法来完成这个过程,我所有的潜在0商店映射,甚至存储少于" x"客户地图的数量。 合并列表示例将是

客户名称,地址,邮编,最近的商店编号。

商店列表是所有商店的完整地址zip。

商店号码 - 商店地址 - 邮编

我用来映射地址的公式。

=LOOKUP(1,1/      FREQUENCY(0,SIN((RADIANS(lat1rng-
Lat2))/2)^2+SIN((RADIANS(lng1rng 
Lng2))/2)^2*COS(RADIANS(lat1rng))
*COS(RADIANS(lat2))),storenumber)

示例数据(客户列表稍微改变一下,等待列表如何发送给我。这就是为什么Zip将成为最好的解决方案的另一个原因。

商店清单(约2,500)

Store # | area | Address | Zip | Zip 4 | Zip Full | Mapped Calls
   1       X        X     00001  0001    00001-0001     100
   2       X        X     00001  0001    00001-0002     0
   3       X        X     00001  0001    00001-0003     2
   4       X        X     22222  0001    22222-0001     20
   5       X        X     22222  0001    22222-0002     0

客户名单(任何可能从50k到1 Mil +的地方)

Customers| Address | Zip | Zip 4 | Zip Full | Mapped Store
   Id1        X     00001  0001    00001-0001     1
   Id2        X     00001  0001    00001-0002     1
   Id3        X     00001  0001    00001-0003     1
   Id4        X     00001  0001    22222-0001     4
   Id5        X     00001  0001    22222-0002     4

我需要一种方法来分配一些"存储1个100的电话"进入商店2和3(这是一个变量组)不一定是均匀分布。商店4和5只有一组2来分割映射。

0 个答案:

没有答案