Страницы: 1
RSS
Определение ближайшей к заданной точки из перечня по известным координатам
 
Подскажите пожалуйста в следующей ситуации:
последовательность следующая - из каждой ячейки ЧИСЛА2 вычитается сначала значение первой ячейки ЧИСЛА1 и нужно определить то число которое даст минимальную разницу.

то есть во всех ячейках должно получиться 6 (но это в данном случае). Просто взять и прибавить меньшую разницу к значению ЧИСЛА1 тоже не подходит.
 
Наименьшая разница всегда будет с наименьшим числом столбца Числа2. И незачем его выводить во все строки.
=МИН(B2:B12)

Ваш одногруппник? )
 
нет, не одногруппник.
все немного сложнее. Числа в таблице были представлены исключительно для упрощения понимания основной задачи. Да и мне потом преобразовывать в необходимое проще.  
Во вложении файл, в нем координаты. Изначально нужно было определить, сколько точек во втором столбце находятся в радиусе 3-х км от каждой точки с координатой из первого столбца. Это сделал. Все считает. Но теперь хочу определить ту точку которая будет максимально близкой к точке первого столбца.
И я не студент.  
 
Андрей, во вложении предлагаю моё решение
Уважай себя, если хочешь, чтобы тебя уважали.
 
По-моему, автор просит найти ближайшую точку из правого столбца к каждой точке левого столбца.
В прилагаемом документе - решение для первой точки левого столбца - используются вспомогательные ячейки.
Боюсь, что свернуть все вспомогательные вычисления внутрь одной ячейки смог бы только БМВ :)

=============================
Возможно название темы стоит отредактировать: определение ближайшей к заданной точки из перечня по известным координатам
Изменено: IKor - 18.03.2021 17:53:11
 
Все верно!
Согласен, уже название можно сменить. Но Ваше решение немного не то что необходимо. В столбце D нужно вывести координату из столбца C, которая наиболее ближе к каждой координате соответствующей строки. Если наименьшее расстояние между точками с координатами B2 и С17, то эта координата должна быть выведена в ячейку D2  
 
Доброе время суток
Цитата
андрей зайцев написал:
во втором столбце находятся в радиусе 3-х км от каждой точки с координатой из первого столбца
Интересно, для первой строки данных BS_POSITION нет ни одной точки в LOCATION, которая была бы в пределах 3-км. И что-то мне подсказывает, что таких нет ни для одной. Ну, или координаты не в широте долготе, а в какой-то другой системе, я тоже умею ошибаться :)
 
Может так?
=INDEX($C$2:$C$18;MATCH(MIN(ACOS(SIN(RADIANS(LEFT(B2;9)))*SIN(RADIANS(LEFT($C$2:$C$18;9))) + COS(RADIANS(LEFT(B2;9)))*COS(RADIANS(LEFT($C$2:$C$18;9)))*COS(RADIANS(RIGHT(B2;9))-RADIANS(RIGHT($C$2:$C$18;9)))));ACOS(SIN(RADIANS(LEFT(B2;9)))*SIN(RADIANS(LEFT($C$2:$C$18;9))) + COS(RADIANS(LEFT(B2;9)))*COS(RADIANS(LEFT($C$2:$C$18;9)))*COS(RADIANS(RIGHT(B2;9))-RADIANS(RIGHT($C$2:$C$18;9))));))

Цитата
Андрей VG написал:
Ну, или координаты не в широте долготе,
- поддерживаю.
Изменено: БМВ - 18.03.2021 20:21:22
По вопросам из тем форума, личку не читаю.
 
вот пример на небольшом количестве точек. определение кол-ва точек в радиусе 10км и вывел наименьшее расстояние.  
 
del
Изменено: buchlotnik - 23.08.2021 17:34:54
Соблюдение правил форума не освобождает от модераторского произвола
 
это именно то что нужно!!!!!!!!!!!!!!!!!!!!
Точнее итог!
А вот саму мысль придется изучить.
Спасибо
 
Цитата
buchlotnik написал:
ну так-то  нагляднее
Привет, Михаилы!
А так, чем хуже? Если бы не дубли координат точек в LOCATION, то можно было и симпатичнее сделать.
 
Цитата
Андрей VG написал:
LOCATION, которая была бы в пределах 3-км
Все верно. На самом деле строк более 11000, следовательно пришлось оставить минимум чтобы выложить файл
 
Цитата
buchlotnik написал:
ну так-то  нагляднее  
лет си хау ит куд би дан ин олд эксел вершен.  :D

Андрей, я решения твоего не видел когда постил.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал: может, так?
Да, все верно. а используя мои шаги можно прийти к такому результату?
 
Цитата
андрей зайцев написал:
а используя мои шаги можно прийти к такому результату?
=INDEX($B$2:$B$18;MATCH(D2;((((LEFT($B$2:$B$18;FIND(" ";$B$2:$B$18))-LEFT(A2;FIND(" ";A2)))*111,3)^2+((RIGHT($B$2:$B$18;FIND(" ";$B$2:$B$18))-RIGHT(A2;FIND(" ";A2)))*63)^2))^(1/2);))
Изменено: БМВ - 18.03.2021 21:44:30
По вопросам из тем форума, личку не читаю.
 
Цитата
андрей зайцев написал: вот пример...  11111.xlsx  (248.66 КБ)
Пробую использовать данную формулу в похожей задаче, но выдает ошибку ЗНАЧ. Если использовать без Ctrl+Shift+Enter, то для отдельных точек считает, но не то что нужно, разумеется. Подскажите, что не так делаю?
Изменено: ussuritiger - 06.04.2021 15:47:51
Страницы: 1
Наверх