我有一个地址列表,从50k到300k或更高。我有3列,包括最近的商店1,最近的商店2,以及每行地址最近的商店3。我使用的公式是给我我想要的输出,然而,它需要几个小时来计算,偶尔会出错。我正在寻找一种更好的方法来分析数据集。示例数据集如下所示。
| Store1 | Store2 | Store3 | CS1 | CS2 | CS3 | Map_store |
|--------|--------|--------|-------|--------|-------|-----------|
| 1111 | 2222 | 3333 | 0 | 0 | 0 | 1111 |
| 1111 | 2222 | 4444 | 1 | 0 | 0 | 2222 |
| 2222 | 5555 | 6666 | 1 | 1 | 0 | 6666 |
| 3333 | 7777 | 8888 | 0 | 0 | 0 | 3333 |
有更多列引用地址数据,但这是数据集的核心。存储1,2和3从最靠近地址对齐。这就是我默认为store1的原因。
“CS1”中的公式是......
=Countif($G$1:G1,"="&[@[Store1]])
相同的公式适用于CS2和CS3,但使用[@ [Store2]]和[@ [Store3]]
Map_Store公式是......
=index(Table1[@Store1]:[Store3],1,MATCH(MIN(Table1[@[CS1]:[CS3]),Table1[@[CS1]:[CS3],0)*2-1)
这会选择count列的最小值,以确保存储均匀分布。输出是正确的,只是过程密集。
我希望优化此过程,因为要映射的80k到200k地址列表需要3到6个小时。非常感谢任何协助方向。