Страницы: 1
RSS
Проверка на принадлежность области значений
 
Добрый день! Необходимо создать условное форматирование ячейки (В18) с проверкой сочетания значений в ячейках B17/C17 на принадлежность диапазону, заданному парами чисел в системе плоских координат. Диапазон допустимых значений графически имеет вид многоугольника. Необходимо выделять ячейку зелёным/красным в зависимости от того, попадет в эту область или нет точка по заданным координатам B17/C17.
Изменено: Schumacher92 - 20.07.2023 13:07:48
 
Schumacher92, https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=59885&am...
 
Цитата
Schumacher92 написал:
up
[offtop]быстр, как шумахер :)[/offtop]
 
И вам доброго, Schumacher92,
...любопытная задача
Тестируйте
 
Цитата
...любопытная задача
Интересное решение

Цитата
Тестируйте
Некоторые точки некорректно отрабатывают, например:
3020038,8
2760029,2
 
Цитата
написал:
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=59885&am...
Нужно обойтись без макроса - файл создан для мобильной версии Excel на Androd/Google sheets
 
Цитата
написал:
И вам доброго,  Schumacher92 , ...любопытная задачаТестируйте
Здравствуйте! Отличное решение, осталось понять, почему, как написал Prosvetov, , имеются подобные некорректные случаи расчёта...
 
Павел \Ʌ/, Для удобства визуализации исправления и тестов добавил точку на диаграмму  
 
Цитата
написал:
Некоторые точки некорректно отрабатывают
да не учел совпадение одной из координат точки и вершин(ы) многоугольника
надо посмотреть, что можно сделать
Цитата
написал:
...на Androd/Google sheets
то что работает в эксель - не всегда в гуглтаблах )
 
Цитата
написал:
надо посмотреть, что можно сделать
Очень надеюсь, что всё же что-то получится. Моя безмерная благодарность Вам  :)  
 
Сделал с небольшой погрешностью - где-то в 0,000001ед, дабы не делать кучу проверок
т.е. если у точки совпадает одна координата с вершиной многоугольника и она находится ближе этой величины к вершине или разность координат вершин близлежайшей стороны меньше этой величины
Думаю, такой точности за глаза
Тестируйте
 
Павел \Ʌ/,
Цитата
написал:
Сделал с небольшой погрешностью - где-то в 0,000001ед, дабы не делать кучу проверокт.е. если у точки совпадает одна координата с вершиной многоугольника и она находится ближе этой величины к вершине или разность координат вершин близлежайшей стороны меньше этой величиныДумаю, такой точности за глазаТестируйте
Вроде бы всё работает, супер! Офигеть, формула там явно не из простых, я такую бы не осилил сам написать) Казалось бы несложная задача, а на деле... Огромное спасибо Вам, Павел!
 
Пожалуста,  
исправил еще одну некорректность, связанную с интерполяцией
вариант без погрешностей
...и надеюсь больше ничего не упустил

пс: задача имеет практическое значение
Тестируйте
 
Цитата
написал:
пс: задача имеет практическое значениеТестируйте
Я абсолютно с Вами согласен, решение, думаю, будет полезно многим. Я бы добавил его в копилку идей. Кстати. если бы область была ограничена функциями (криволинейна трапеция), было бы проще это сделать, мне кажется? Там бы просто через ЕСЛИ + И можно было добавить проверку на больше/меньше по результату подстановки в формулу 'y' для данного значения 'x'. Хотя я не пробовал, возможно, что там тоже не все так просто оказалось бы)
Цитата
написал:
Пожалуста,  исправил еще одну некорректность, связанную с интерполяциейвариант без погрешностей...и надеюсь больше ничего не упустил
Еще раз огромное спасибо, Павел! Буду тестировать)
 
Павел \Ʌ/,
А это же не ошибка, что в Диспетчере имён в формуле _x указан диапазон С3:С11? Не С4:С12 должен быть? Я просто не понимаю смысл формулы, но вижу, что она почему-то включает заголовок вместо последней точки диапазона. Поэтому лишь хочу переспросить, что это не опечатка)
 
Цитата
Schumacher92:   это же не ошибка...?
не ошибка
Раз уж вы заглянули в диспетчер имен, то должны были обратить внивание, что там три варианта по иксам (и три по игрекам) - все они со смещением относительно друг друга
Вы можете скопировать формулу из ДИ и вставить её в ячейку листа, и попробовать разобрать если интересно ;)
А если в двух словах - сдвиг нужен для сравнения условной вершины полигона с её "соседками"
 
Цитата
написал:
не ошибкаРаз уж вы заглянули в диспетчер имен, то должны были обратить внивание, что там три варианта по иксам (и три по игрекам) - все они со смещением относительно друг другаВы можете скопировать формулу из ДИ и вставить её в ячейку листа, и попробовать разобрать если интересно А если в двух словах - сдвиг нужен для сравнения условной вершины полигона с её "соседками"
Понял, Павел, спасибо большое за развёрнутый ответ) Кстати, Ваш последний усовершенствованный вариант значительно облегчил мне задачу, т.к. для одного и того же ОДЗ на практике мне нужно проверять 6 пар чисел. Теперь нет необходимости для каждой пары задавать свою функцию в диспетчере имён, достаточно только в итоговой формуле скорректировать ссылки на ячейки)
Страницы: 1
Наверх