Логика другая - если впр из е2 возвращает >0, то оставляем, иначе впр из С2 Наверняка можно упростить, и ещё навесить еслиошибка() P.S. хотя нет ошибок:
Сотрудник, можно например одну строку кода поправить:
Код
Target = Range(Adr) + Target / 24
и формат ячеек изменить на ДД.ММ.ГГГГ ч:мм или Общий. Но корректно срабатывает только на 8, но не на 8:00 или 8:30 Не знаю как там могут писать, дорабатывать нужно. И только первый раз, далее если будут дату править то тоже нужно учитывать в коде. Или всё делать как-то иначе. Но изначально проблема было в том что там текст, обычное дело...
Нужно чтобы там была дата. Откуда оно там появляется и в каком виде знаете только Вы. Судя по макросу - пишется время, затем макрос добавляет дату, вот значит в макросе и нужно на выходе получать дату и время, а не строку.
Там где Вы уверены что даты. Там где жмётся к левой границе. Преобразуйте в дату с временем - и формула заработает. Достаточно в E3 поправить в данном случае.
Тому кто пишет левую таблицу проб нужно следить за границами и не выходить за рамки установленные в правой таблице, тогда не будет проблем подтянуть коды. Но есть мысль и с такими исходными попробовать массивную UDF на динамических возможностях новых версий ( кстати очень удобно, новый уровень!), только так и нет ответа на самый первый вопрос - какой должен быть результат и почему у этих проблемных интервалов.
Так есть ведь уже выше версия которая вытягивает по нижнему, и есть версия которая тянет по верхнему. Те кто попал точно в интервал - у них они обе вытягивают один код, а если есть переход на другой интервал - то результаты разные: B2041 98 99 #Н/Д IAN TUF Вот их если соединить - то можно вывести оба разных интервала. Но считать будет тяжело формулой... Лучше PQ, но я пас.
Можно пойти по такому алгоритму, но при таких объемах это затратно - определять к какому интервалу относится каждый метр пробы, тогда можно выводить к каждому коду например его процент присутсвия в пробе. Кодом/макросом решаемо. Иначе думаю правильнее писать пробы в пределах существующих интервалов.
Так я и сказал что в PQ нужно делать, у меня формулы на целый столбец еле ворочались, поэтому хоть и ленивый, но диапазоны как выше видно обрезал впритирку ))
Я в самом начале спрашивал что делать с интервалами которые идут через границы интервалов Их наверное может быть и более двух... Может быть перечислять все? В принципе для двух крайних уже решение есть, можно собрать в одной ячейке, правда будет неоптимально... Да и объёмы вычислений большие... Нужно или в PQ делать, или макросом, но сперва нужно решить какой ожидаете результат и почему у таких интервалов.
Ну тогда формула выводящая по последнему готова, см. выше. Но тяжело будет на больших объёмах, вводить на старых версиях тремя клавишами Ctrl+Shift+Enter
B2041 98 99 TUF - концепция поменялась? А логику не понял, попробуйте переформулировать - как это интервал ОТ в левом столбце больше или равен интервалу в правом столбцу и меньше или равен интервалу до в правом столбцу тогда код в левом столбцу равен коду в правом столбцу и где эти ОТ/ДО и столбцы ))
Вообще логика формулы не меняется, перестановка местами таблиц на её работу не влияет. Но на 10 мб конечно тяжело будет, уже на этом файле надоело ждать...
Дождался наконец.. И вот может теперь скажете какие коды и почему должны быть тут: B2041 71 83,199997 #Н/Д B2041 98 99 #Н/Д
Есть выбор из таких интервалов: B2041 0 4 SED B2041 4 9 IAB B2041 9 78,7 IAN B2041 78,7 98,9 TUF B2041 98,9 175 IAN
Александр Рыбалко, перенос макросом вообще подразумевает удаление переносимого из источника... Копирование это другое дело. Но скопировать можно и формулой (она переносить не умеет):
Aprelka, это значит что такой ключ в коллекции уже есть. Т.е. повтор. Нажмите кнопочку Debug и покажите часть кода которая вызвала эту ошибку. А лучше в файле со всеми несекретными данными, вызывающими эту ошибку.
vic625, не вижу проблемы. Это нужно очень постараться, или явно указать тип переменной чтоб нули отрезало... Даже не стал принудительно ставить тип string:
Coolllerr, сразу есть вопросы - Какое значение ставить если интервал будет от 10,50 до 10,50? Какое если интервал от 10,40 до 11? И главное - почему? Ну а так вполне возможно что достаточно ВПР как в теме про интервалы