Страницы: 1
RSS
В таблицу с частичными интервалами подставить коды из таблицы полных интервалов
 

Добрый день!

Возможно кто-нибудь сможет подсказать, как можно решить мою проблему (или хотя бы подсказать направление).

Имеется две таблицы, в первой записаны интервалы в краткой форме (произвольные интервалы) «от», «до» и код, во второй таблице имеются интервалы в более подробной форме (строго через 1) и также поле код, но пустое. Необходимо заполнить ячейки столбца «код» во второй таблице так, чтобы получилось как в таблице, выделенной желтым. Если в первой таблице записано дробное значение, то во 2-ю код присваивается интервалу, в которое это дробное значение входит.

Функция ВПР сама по себе тут не помогает, возможно её нужно чем-то дополнить, но, к сожалению, знаний не хватает.
 
Цитата
Александр Страхов: подсказать направление
макрос точно сработает, но нужно определиться, что будет, если диапазон с 2 до 7 или с 2 до 11, например - то есть относится к 2ум или 3ём диапазонам
Изменено: Jack Famous - 02.06.2020 15:17:52
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
цитировать нужно не бездумно, а когда это нужно [МОДЕРАТОР]

Такое условие отсутствует, перекрывающихся интервалов не будет.
 
Александр Страхов, если вашу таблицу слегка развернуть, то все получится и ВПРом.
Вот горшок пустой, он предмет простой...
 
К сожалению, такой вариант решения проблемы не подходит, изменять столбцы "от" и "до" нельзя.
 
Александр Страхов,  а только не понял про пересечения вот например у  вас от 2 до 3...
Код
=ЕСЛИОШИБКА(ПРОСМОТР(2;1/(($E2>=$A$2:$A$4)*($F2<=$B$2:$B$4));$C$2:$C$4);"")
Изменено: Mershik - 02.06.2020 16:44:14
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, подразумевается  пересечение с исходными диапазонами. Т.е. не может быть диапазона, в котором будут значения двух и более исходных диапазонов.

Александр Страхов, если допускается выход за пределы диапазона (пример:: диапазон от 2 до 3 в строке 4, для которого подходит исходный диапазон от 1 до 2,7), то почему в строке 2 не вписан код k? Ведь верхний предел (от 0 до 1) пересекается с нижним пределом таблицы-источника (от 1 до 2,7)... То же самое для строк 6 и 10.
 
vikttur, извиняюсь, что упустил некоторые условия в первом сообщении, это ещё одно условие - если пересекаются верхний предел интервала 2-й таблицы (от 0 до 1) и нижний предел таблицы-источника (от 1 до 2,7), то код в строке интервала 0 - 1 не записывается.

Mershik, большое спасибо за подсказку, я немного изменил Вашу формулу и всё получилось. Про пересечения - да, как сказал vikttur, двух и более пересекающихся диапазонов не будет.

Получилась следующая формула:
Код
=ЕСЛИОШИБКА(ПРОСМОТР(2;1/(($E2>=$A$2:$A$4)*($F2<=ОКРУГЛВВЕРХ($B$2:$B$4; 0)));$C$2:$C$4);"")
Страницы: 1
Наверх