V P, что Вы подразумеваете под "сравнение по массивам"?
Что не устраивает в этом коде?
Что не устраивает в этом коде?
17.05.2024 11:43:50
А можно сразу всё в одной давно написанной UDF сделать:
Изменено: |
|||||
|
17.05.2024 08:42:56
Проверьте как сейчас сработает, мне на 360 всё равно, оба варианта работают, но думал что Эксель умный )) И можете сами добавить ЕСЛИОШИБКА() если оно необходимо. |
|||
|
17.05.2024 08:24:04
Виктор Клюев, доработал.
Тут ничего выделять не нужно, работает с тем что есть на листе как показано в примере. Просто сразу жмите кнопку. Но правда в оригинале дублей не было, где-то в первых трёх столбцах накосячено с раскладкой, не вникал где и в какую сторону, это другая задача... Скорее всего в третьем с С - там сперва было Е, это причина того что я в первом коде не брал эти столбцы как ключ, ибо он был разный. Но можно как ключ брать часть из F до "/", это даже чуть сократит код. Добавил в файл кнопку и на такой вариант.
Изменено: |
|
|
16.05.2024 15:59:34
Логика другая - если впр из е2 возвращает >0, то оставляем, иначе впр из С2
Наверняка можно упростить, и ещё навесить еслиошибка() P.S. хотя нет ошибок:
Изменено: |
|||
|
14.05.2024 22:23:31
Сотрудник, можно например одну строку кода поправить:
и формат ячеек изменить на ДД.ММ.ГГГГ ч:мм или Общий. Но корректно срабатывает только на 8, но не на 8:00 или 8:30 Не знаю как там могут писать, дорабатывать нужно. И только первый раз, далее если будут дату править то тоже нужно учитывать в коде. Или всё делать как-то иначе. Но изначально проблема было в том что там текст, обычное дело...
Изменено: |
|||
|
13.05.2024 13:41:24
|
|||
|
12.05.2024 09:38:14
Тому кто пишет левую таблицу проб нужно следить за границами и не выходить за рамки установленные в правой таблице, тогда не будет проблем подтянуть коды.
Но есть мысль и с такими исходными попробовать массивную UDF на динамических возможностях новых версий ( кстати очень удобно, новый уровень!), только так и нет ответа на самый первый вопрос - какой должен быть результат и почему у этих проблемных интервалов.
Изменено: |
|
|
11.05.2024 21:50:07
Так есть ведь уже выше версия которая вытягивает по нижнему, и есть версия которая тянет по верхнему.
Те кто попал точно в интервал - у них они обе вытягивают один код, а если есть переход на другой интервал - то результаты разные: B2041 98 99 #Н/Д IAN TUF Вот их если соединить - то можно вывести оба разных интервала. Но считать будет тяжело формулой... Лучше PQ, но я пас. |
|
|
11.05.2024 07:44:14
Можно пойти по такому алгоритму, но при таких объемах это затратно - определять к какому интервалу относится каждый метр пробы, тогда можно выводить к каждому коду например его процент присутсвия в пробе.
Кодом/макросом решаемо. Иначе думаю правильнее писать пробы в пределах существующих интервалов.
Изменено: |
|
|
10.05.2024 22:28:09
Я в самом начале спрашивал что делать с интервалами которые идут через
Их наверное может быть и более двух... Может быть перечислять все? В принципе для двух крайних уже решение есть, можно собрать в одной ячейке, правда будет неоптимально... Да и объёмы вычислений большие... Нужно или в PQ делать, или макросом, но сперва нужно решить какой ожидаете результат и почему у таких интервалов. |
|
|
10.05.2024 18:55:22
B2041 98 99 TUF - концепция поменялась?
А логику не понял, попробуйте переформулировать - как это интервал ОТ в левом столбце больше или равен интервалу в правом столбцу и меньше или равен интервалу до в правом столбцу тогда код в левом столбцу равен коду в правом столбцу и где эти ОТ/ДО и столбцы ))
Изменено: |
|
|
10.05.2024 17:16:49
Вообще логика формулы не меняется, перестановка местами таблиц на её работу не влияет.
Но на 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
Изменено: |
|
|