根据另外两个列值将大列表按列值划分

我有两个大名单。 一个是商店列表,一个是客户列表。 我使用纬度和经度之间的距离公式将商店编号映射到客户列表。 我遇到的问题是我需要店铺列表中的每个“商店”至less分配一个客户。 (客户列表可能在50k +之间)我手动对映射的商店进行计数,索引商店列表并find任何零。 然后,我将通过该零售店邮编进行过滤,并find最大计数的映射店铺,并按照相同的组进行划分。 我正在寻找一种方法来对所有潜在的零售店进行映射,甚至是用less于“x”的客户地图数量来完成这个过程。 综合列表的例子是

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

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

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

我用公式来映射地址。

=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会是最好的select。

商店清单(约2500)

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

客户名单(可能是从5万到1万的任何地方)

 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(这是一个variables组)不一定是分配。 商店4和5只有一个2的分组映射。