Получение всех возможных значений из нескольких диапазонов
agamemnon
Дата: Среда, 29.03.2023, 18:53 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация:
0
±
Замечаний:
0% ±
2016
Здравствуйте! Помогите с решением следующей проблемы. Есть два столбца с начальным значением и конечным: 281359 281359 281363 281366 281376 281378 Шаг возможных значений в диапазоне равен 1. Как в итоге получить следующий столбец со значениями: 281359 281363 281364 281365 281366 281376 281377 281378
Здравствуйте! Помогите с решением следующей проблемы. Есть два столбца с начальным значением и конечным: 281359 281359 281363 281366 281376 281378 Шаг возможных значений в диапазоне равен 1. Как в итоге получить следующий столбец со значениями: 281359 281363 281364 281365 281366 281376 281377 281378 agamemnon
Ответить
Сообщение Здравствуйте! Помогите с решением следующей проблемы. Есть два столбца с начальным значением и конечным: 281359 281359 281363 281366 281376 281378 Шаг возможных значений в диапазоне равен 1. Как в итоге получить следующий столбец со значениями: 281359 281363 281364 281365 281366 281376 281377 281378 Автор - agamemnon Дата добавления - 29.03.2023 в 18:53
DrMini
Дата: Среда, 29.03.2023, 19:53 |
Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1877
Репутация:
269
±
Замечаний:
0% ±
Excel LTSC 2024 RUS
Есть два столбца с начальным значением и конечным
Вот такое на ум пришло.
Есть два столбца с начальным значением и конечным
Вот такое на ум пришло.DrMini
Ответить
Сообщение Есть два столбца с начальным значением и конечным
Вот такое на ум пришло.Автор - DrMini Дата добавления - 29.03.2023 в 19:53
Pelena
Дата: Среда, 29.03.2023, 19:56 |
Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19405
Репутация:
4555
±
Замечаний:
±
Excel 365 & Mac Excel
Ещё вариантКод
=ЕСЛИОШИБКА(ЕСЛИ(E2<ВПР(E2;$A$2:$B$4;2);E2+1;ИНДЕКС($A$2:$A$4;ПОИСКПОЗ(E2;$A$2:$A$4)+1));"")
Ещё вариантКод
=ЕСЛИОШИБКА(ЕСЛИ(E2<ВПР(E2;$A$2:$B$4;2);E2+1;ИНДЕКС($A$2:$A$4;ПОИСКПОЗ(E2;$A$2:$A$4)+1));"")
Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Ещё вариантКод
=ЕСЛИОШИБКА(ЕСЛИ(E2<ВПР(E2;$A$2:$B$4;2);E2+1;ИНДЕКС($A$2:$A$4;ПОИСКПОЗ(E2;$A$2:$A$4)+1));"")
Автор - Pelena Дата добавления - 29.03.2023 в 19:56
agamemnon
Дата: Среда, 29.03.2023, 21:49 |
Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация:
0
±
Замечаний:
0% ±
2016
Наверное не совсем понятно объяснил: столбцов два, но диапазонов в примере 3. И в выходном столбце должны быть значения входящие в эти 3 диапазона.Ещё вариант =ЕСЛИОШИБКА(ЕСЛИ(E2<ВПР(E2;$A$2:$B$4;2);E2+1;ИНДЕКС($A$2:$A$4;ПОИСКПОЗ(E2;$A$2:$A$4)+1));"")
Спасибо большое! Это было то что нужно! Давно уже ломал голову как получить искомый результат. Сам бы я не сообразил. Спасибо ещё раз!
Наверное не совсем понятно объяснил: столбцов два, но диапазонов в примере 3. И в выходном столбце должны быть значения входящие в эти 3 диапазона.Ещё вариант =ЕСЛИОШИБКА(ЕСЛИ(E2<ВПР(E2;$A$2:$B$4;2);E2+1;ИНДЕКС($A$2:$A$4;ПОИСКПОЗ(E2;$A$2:$A$4)+1));"")
Спасибо большое! Это было то что нужно! Давно уже ломал голову как получить искомый результат. Сам бы я не сообразил. Спасибо ещё раз!agamemnon
Ответить
Сообщение Наверное не совсем понятно объяснил: столбцов два, но диапазонов в примере 3. И в выходном столбце должны быть значения входящие в эти 3 диапазона.Ещё вариант =ЕСЛИОШИБКА(ЕСЛИ(E2<ВПР(E2;$A$2:$B$4;2);E2+1;ИНДЕКС($A$2:$A$4;ПОИСКПОЗ(E2;$A$2:$A$4)+1));"")
Спасибо большое! Это было то что нужно! Давно уже ломал голову как получить искомый результат. Сам бы я не сообразил. Спасибо ещё раз!Автор - agamemnon Дата добавления - 29.03.2023 в 21:49
Gustav
Дата: Среда, 29.03.2023, 21:59 |
Сообщение № 5
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация:
1161
±
Замечаний:
±
начинал с Excel 4.0, видел 2.1
И мой заключительный выход как дежурного по новым функциям свежих версий Excel (2021+, 365, web) - формула динамического саморасширяющегося массива (для одной-единственной ячейки):Код
=ТРАНСП(--ТЕКСТРАЗД(ОБЪЕДИНИТЬ(",";; BYROW(A1:B3; LAMBDA(r; ОБЪЕДИНИТЬ(",";; ПОСЛЕД(1; ИНДЕКС(r;2)-ИНДЕКС(r;1)+1; ИНДЕКС(r;1)))))); ","))
Вводим в C1 - ловим в C1:C8. P.S. Либо чуть покороче, но придётся вместо одного диапазона A1:B3 вводить два - A1:A3 и B1:B3:Код
=ТРАНСП(--ТЕКСТРАЗД(ОБЪЕДИНИТЬ(",";; MAP(A1:A3; B1:B3; LAMBDA(a;b; ОБЪЕДИНИТЬ(",";; ПОСЛЕД(1; b-a+1; a))))); ","))
Либо чуть подлиннее, но с принципиально другим механизмом получения результата - с накоплением итоговой строки, используя функцию REDUCE:Код
=ТРАНСП(--ТЕКСТРАЗД(REDUCE(; BYROW(A1:B3; LAMBDA(r;ОБЪЕДИНИТЬ(",";; ПОСЛЕД(1; ИНДЕКС(r;2)-ИНДЕКС(r;1)+1; ИНДЕКС(r;1))))); LAMBDA(a;b; СЦЕП(a;",";b))); ","))
И мой заключительный выход как дежурного по новым функциям свежих версий Excel (2021+, 365, web) - формула динамического саморасширяющегося массива (для одной-единственной ячейки):Код
=ТРАНСП(--ТЕКСТРАЗД(ОБЪЕДИНИТЬ(",";; BYROW(A1:B3; LAMBDA(r; ОБЪЕДИНИТЬ(",";; ПОСЛЕД(1; ИНДЕКС(r;2)-ИНДЕКС(r;1)+1; ИНДЕКС(r;1)))))); ","))
Вводим в C1 - ловим в C1:C8. P.S. Либо чуть покороче, но придётся вместо одного диапазона A1:B3 вводить два - A1:A3 и B1:B3:Код
=ТРАНСП(--ТЕКСТРАЗД(ОБЪЕДИНИТЬ(",";; MAP(A1:A3; B1:B3; LAMBDA(a;b; ОБЪЕДИНИТЬ(",";; ПОСЛЕД(1; b-a+1; a))))); ","))
Либо чуть подлиннее, но с принципиально другим механизмом получения результата - с накоплением итоговой строки, используя функцию REDUCE:Код
=ТРАНСП(--ТЕКСТРАЗД(REDUCE(; BYROW(A1:B3; LAMBDA(r;ОБЪЕДИНИТЬ(",";; ПОСЛЕД(1; ИНДЕКС(r;2)-ИНДЕКС(r;1)+1; ИНДЕКС(r;1))))); LAMBDA(a;b; СЦЕП(a;",";b))); ","))
Gustav
МОИ: Ник , Tip box: 41001663842605
Сообщение отредактировал Gustav - Среда, 29.03.2023, 22:14
Ответить
Сообщение И мой заключительный выход как дежурного по новым функциям свежих версий Excel (2021+, 365, web) - формула динамического саморасширяющегося массива (для одной-единственной ячейки):Код
=ТРАНСП(--ТЕКСТРАЗД(ОБЪЕДИНИТЬ(",";; BYROW(A1:B3; LAMBDA(r; ОБЪЕДИНИТЬ(",";; ПОСЛЕД(1; ИНДЕКС(r;2)-ИНДЕКС(r;1)+1; ИНДЕКС(r;1)))))); ","))
Вводим в C1 - ловим в C1:C8. P.S. Либо чуть покороче, но придётся вместо одного диапазона A1:B3 вводить два - A1:A3 и B1:B3:Код
=ТРАНСП(--ТЕКСТРАЗД(ОБЪЕДИНИТЬ(",";; MAP(A1:A3; B1:B3; LAMBDA(a;b; ОБЪЕДИНИТЬ(",";; ПОСЛЕД(1; b-a+1; a))))); ","))
Либо чуть подлиннее, но с принципиально другим механизмом получения результата - с накоплением итоговой строки, используя функцию REDUCE:Код
=ТРАНСП(--ТЕКСТРАЗД(REDUCE(; BYROW(A1:B3; LAMBDA(r;ОБЪЕДИНИТЬ(",";; ПОСЛЕД(1; ИНДЕКС(r;2)-ИНДЕКС(r;1)+1; ИНДЕКС(r;1))))); LAMBDA(a;b; СЦЕП(a;",";b))); ","))
Автор - Gustav Дата добавления - 29.03.2023 в 21:59
agamemnon
Дата: Среда, 29.03.2023, 22:25 |
Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация:
0
±
Замечаний:
0% ±
2016
=ТРАНСП(--ТЕКСТРАЗД(ОБЪЕДИНИТЬ(",";; BYROW(A1:B3; LAMBDA(r; ОБЪЕДИНИТЬ(",";; ПОСЛЕД(1; ИНДЕКС(r;2)-ИНДЕКС(r;1)+1; ИНДЕКС(r;1)))))); ",")) Вводим в C1 - ловим в C1:C8.
Выдаёт ошибку Попробовал все три предложенных варианта - везде Excel выдал ошибку. Может подобные решения не работают в Excel 2016?
=ТРАНСП(--ТЕКСТРАЗД(ОБЪЕДИНИТЬ(",";; BYROW(A1:B3; LAMBDA(r; ОБЪЕДИНИТЬ(",";; ПОСЛЕД(1; ИНДЕКС(r;2)-ИНДЕКС(r;1)+1; ИНДЕКС(r;1)))))); ",")) Вводим в C1 - ловим в C1:C8.
Выдаёт ошибку Попробовал все три предложенных варианта - везде Excel выдал ошибку. Может подобные решения не работают в Excel 2016?agamemnon
Сообщение отредактировал agamemnon - Среда, 29.03.2023, 22:32
Ответить
Сообщение =ТРАНСП(--ТЕКСТРАЗД(ОБЪЕДИНИТЬ(",";; BYROW(A1:B3; LAMBDA(r; ОБЪЕДИНИТЬ(",";; ПОСЛЕД(1; ИНДЕКС(r;2)-ИНДЕКС(r;1)+1; ИНДЕКС(r;1)))))); ",")) Вводим в C1 - ловим в C1:C8.
Выдаёт ошибку Попробовал все три предложенных варианта - везде Excel выдал ошибку. Может подобные решения не работают в Excel 2016?Автор - agamemnon Дата добавления - 29.03.2023 в 22:25
bigorq
Дата: Среда, 29.03.2023, 22:32 |
Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 197
Репутация:
47
±
Замечаний:
0% ±
Нет
у вас в профиле офис 2016 указан, в нем нет ряда новых функций
у вас в профиле офис 2016 указан, в нем нет ряда новых функций bigorq
Ответить
Сообщение у вас в профиле офис 2016 указан, в нем нет ряда новых функций Автор - bigorq Дата добавления - 29.03.2023 в 22:32
Gustav
Дата: Среда, 29.03.2023, 22:53 |
Сообщение № 8
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация:
1161
±
Замечаний:
±
начинал с Excel 4.0, видел 2.1
Может подобные решения не работают в Excel 2016?
Да, не всё из перечисленного работает в 2016. Я же написал: 2021+. А 2016 - это, увы, в противоположную сторону: 2021-. Если интересно, можете в таблицах Google потренироваться. Там всё работает. Правда, некоторые функции немного иначе называются. Из наиболее заметных несоответствий: JOIN и SPLIT в Гугл вместо TEXTJOIN и TEXTSPLIT в Excel.
Может подобные решения не работают в Excel 2016?
Да, не всё из перечисленного работает в 2016. Я же написал: 2021+. А 2016 - это, увы, в противоположную сторону: 2021-. Если интересно, можете в таблицах Google потренироваться. Там всё работает. Правда, некоторые функции немного иначе называются. Из наиболее заметных несоответствий: JOIN и SPLIT в Гугл вместо TEXTJOIN и TEXTSPLIT в Excel.Gustav
МОИ: Ник , Tip box: 41001663842605
Ответить
Сообщение Может подобные решения не работают в Excel 2016?
Да, не всё из перечисленного работает в 2016. Я же написал: 2021+. А 2016 - это, увы, в противоположную сторону: 2021-. Если интересно, можете в таблицах Google потренироваться. Там всё работает. Правда, некоторые функции немного иначе называются. Из наиболее заметных несоответствий: JOIN и SPLIT в Гугл вместо TEXTJOIN и TEXTSPLIT в Excel.Автор - Gustav Дата добавления - 29.03.2023 в 22:53
Nic70y
Дата: Четверг, 30.03.2023, 07:58 |
Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 9005
Репутация:
2369
±
Замечаний:
0% ±
Excel 2010
немассивный вариант по файлу от ЕленыКод
=ЕСЛИ(ВПР(E2;A:B;2)=E2;ИНДЕКС(A:A;ПОИСКПОЗ(E2;A:A)+1);E2+1)
апдейт написал в принципе ту же самую формулу, что и у Елены, только обратил внимание видать она по инерции ввела ее как массивную.
немассивный вариант по файлу от ЕленыКод
=ЕСЛИ(ВПР(E2;A:B;2)=E2;ИНДЕКС(A:A;ПОИСКПОЗ(E2;A:A)+1);E2+1)
апдейт написал в принципе ту же самую формулу, что и у Елены, только обратил внимание видать она по инерции ввела ее как массивную. Nic70y
К сообщению приложен файл:
149.xlsx
(9.3 Kb)
ЮMoney 41001841029809
Сообщение отредактировал Nic70y - Четверг, 30.03.2023, 08:17
Ответить
Сообщение немассивный вариант по файлу от ЕленыКод
=ЕСЛИ(ВПР(E2;A:B;2)=E2;ИНДЕКС(A:A;ПОИСКПОЗ(E2;A:A)+1);E2+1)
апдейт написал в принципе ту же самую формулу, что и у Елены, только обратил внимание видать она по инерции ввела ее как массивную. Автор - Nic70y Дата добавления - 30.03.2023 в 07:58
Pelena
Дата: Четверг, 30.03.2023, 09:48 |
Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 19405
Репутация:
4555
±
Замечаний:
±
Excel 365 & Mac Excel
по инерции ввела ее как массивную
хм, интересно... У меня офис 365, поэтому я в принципе не делаю массивный ввод формул. Сейчас проверила у себя файл, нет фигурных скобок. Загрузила ещё раз с форума - нет фигурных скобок. Видимо, Excel "умничает", ему показалось, что формула массивная
по инерции ввела ее как массивную
хм, интересно... У меня офис 365, поэтому я в принципе не делаю массивный ввод формул. Сейчас проверила у себя файл, нет фигурных скобок. Загрузила ещё раз с форума - нет фигурных скобок. Видимо, Excel "умничает", ему показалось, что формула массивная Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение по инерции ввела ее как массивную
хм, интересно... У меня офис 365, поэтому я в принципе не делаю массивный ввод формул. Сейчас проверила у себя файл, нет фигурных скобок. Загрузила ещё раз с форума - нет фигурных скобок. Видимо, Excel "умничает", ему показалось, что формула массивная Автор - Pelena Дата добавления - 30.03.2023 в 09:48