У меня есть два списка с координатами, которым мне нужно соответствовать.
Один очень большой список (434 561 строка), структурированный так (рассмотрим столбцы как A, B и C в Excel):
code (ID) | Latitude | Longitude
----------|------------|-----------
point455 | 4.513523 | 23.754457
point478 | 74.123523 | 83.757459
[...]
Второй список (4000 строк) другого набора точек с такой же структурой.
Я хочу сопоставить каждую точку второго списка с ближайшими, скоординированными в первом.Примерно так:
(second list)
code (ID) | Latitude | Longitude | Closest point
----------|------------|-------------|--------------
tag165 | 4.513523 | 23.754457 | point488
tag198 | 74.123523 | 83.757459 | point124
[...]
Я попытался сопоставить широту и долготу отдельно.Следующая формула дает значение в ячейке, которая содержит ближайшее длинное значение:
=INDEX(ALLStops!B2:ALLStops!$B$434561, MATCH(MIN(ABS(ALLStops!$B$2:ALLStops!$B$434561-B2)), ABS(ALLStops!B2:ALLStops!$B$434561-B2), 0))
Оба столбца имеют одинаковую формулу и обрабатываются независимо.Затем я использую =MATCH(E2,ALLStops!B2:B434561,0)
, чтобы получить строку.
Но около 1/3 записей имеют значения, в которых самые близкие координаты находятся в разных строках, что, очевидно, бесполезно.
Итак, двазначения координат, которые совпадают как самые близкие, должны быть в той же строке , и я предполагаю, что вычисление должно быть сжато в одно.
Может кто-нибудь предложить способ ограничения этого или более аккуратный, (и менее ресурсоемкий) метод?