Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Массовое объединение ячеек - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Массовое объединение ячеек
bubanay Дата: Четверг, 09.12.2021, 17:08 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте. Вот сразу пример:
https://docs.google.com/spreads....sharing

Можно ли сделать так, что бы каждая ячейка первой колонки объединилась с каждой ячейкой второй колонки? И вывелось бы все это в 1 столбец. Должно работать на весь диапазон первых двух столбцов. С пустыми ячейками действия проводиться не должны. В результате ячейки должны разделяться пробелом.


Сообщение отредактировал bubanay - Четверг, 09.12.2021, 17:09
 
Ответить
СообщениеЗдравствуйте. Вот сразу пример:
https://docs.google.com/spreads....sharing

Можно ли сделать так, что бы каждая ячейка первой колонки объединилась с каждой ячейкой второй колонки? И вывелось бы все это в 1 столбец. Должно работать на весь диапазон первых двух столбцов. С пустыми ячейками действия проводиться не должны. В результате ячейки должны разделяться пробелом.

Автор - bubanay
Дата добавления - 09.12.2021 в 17:08
aliramora191 Дата: Пятница, 10.12.2021, 09:24 | Сообщение № 2
Группа: Проверенные
Ранг: Новичок
Сообщений: 36
Репутация: 17 ±
Замечаний: 0% ±

2016
Здравствуйте!
Код
=ИНДЕКС($A$2:$A;ЦЕЛОЕ((СТРОКА()+СЧЁТЗ($A$2:$A)*2-2)/СЧЁТЗ($A$2:$A))-1)&" "&ИНДЕКС($B$2:$B;(ОСТАТ(СТРОКА(O1)-1;СЧЁТЗ($B$2:$B))+1)*(СЧЁТЗ($A$2:$A)^СЧЁТЗ($B$2:$B)>=СТРОКА()-1)*1)


Анастасия
 
Ответить
СообщениеЗдравствуйте!
Код
=ИНДЕКС($A$2:$A;ЦЕЛОЕ((СТРОКА()+СЧЁТЗ($A$2:$A)*2-2)/СЧЁТЗ($A$2:$A))-1)&" "&ИНДЕКС($B$2:$B;(ОСТАТ(СТРОКА(O1)-1;СЧЁТЗ($B$2:$B))+1)*(СЧЁТЗ($A$2:$A)^СЧЁТЗ($B$2:$B)>=СТРОКА()-1)*1)

Автор - aliramora191
Дата добавления - 10.12.2021 в 09:24
Gustav Дата: Пятница, 10.12.2021, 10:13 | Сообщение № 3
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
У меня вот такая (небольшенькая :) ) получилась - саморастягивающаяся и на любое количество элементов в колонках A и B:
[vba]
Код
=ArrayFormula(
VLOOKUP(ARRAY_CONSTRAIN(
INT((ARRAY_CONSTRAIN(
SEQUENCE(COUNTA(A2:A)*COUNTA(B2:B))
;COUNTA(A2:A)*COUNTA(B2:B);1)-1)/COUNTA(B2:B)+1)
;COUNTA(A2:A)*COUNTA(B2:B);1);{SEQUENCE(COUNTA(A2:A))\FILTER(A2:A;A2:A<>"")};2;FALSE)
&" "&
VLOOKUP(ARRAY_CONSTRAIN(
MOD(ARRAY_CONSTRAIN(SEQUENCE(COUNTA(A2:A)*COUNTA(B2:B));COUNTA(A2:A)*COUNTA(B2:B);1)-1;COUNTA(B2:B))+1
;COUNTA(A2:A)*COUNTA(B2:B);1);{SEQUENCE(COUNTA(B2:B))\FILTER(B2:B;B2:B<>"")};2;FALSE))
[/vba]Подсмотрел у aliramora191 функции COUNTA (я сначала использовал COUNTIF) и MOD - что-то я про них позабыл (давненько не использовал). В файле есть обе мои версии.

[p.s.]Великая вещь - электронные таблицы! Бесконечны![/p.s.]
Смотрел-смотрел на вторую версию, да подсократил за счёт удаления лишних ARRAY_CONSTRAIN (а то были практически друг на друга - масло масляное). Моя третья версия (в файл по ссылке тоже добавил) - уже совсем крохотулечка:
[vba]
Код
=ArrayFormula(
VLOOKUP(
INT((ARRAY_CONSTRAIN(
SEQUENCE(COUNTA(A2:A)*COUNTA(B2:B))
;COUNTA(A2:A)*COUNTA(B2:B);1)-1)/COUNTA(B2:B)+1)
;{SEQUENCE(COUNTA(A2:A))\FILTER(A2:A;A2:A<>"")};2;FALSE)
&" "&
VLOOKUP(
MOD(ARRAY_CONSTRAIN(SEQUENCE(COUNTA(A2:A)*COUNTA(B2:B));COUNTA(A2:A)*COUNTA(B2:B);1)-1;COUNTA(B2:B))+1
;{SEQUENCE(COUNTA(B2:B))\FILTER(B2:B;B2:B<>"")};2;FALSE))
[/vba]


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Пятница, 10.12.2021, 10:32
 
Ответить
СообщениеУ меня вот такая (небольшенькая :) ) получилась - саморастягивающаяся и на любое количество элементов в колонках A и B:
[vba]
Код
=ArrayFormula(
VLOOKUP(ARRAY_CONSTRAIN(
INT((ARRAY_CONSTRAIN(
SEQUENCE(COUNTA(A2:A)*COUNTA(B2:B))
;COUNTA(A2:A)*COUNTA(B2:B);1)-1)/COUNTA(B2:B)+1)
;COUNTA(A2:A)*COUNTA(B2:B);1);{SEQUENCE(COUNTA(A2:A))\FILTER(A2:A;A2:A<>"")};2;FALSE)
&" "&
VLOOKUP(ARRAY_CONSTRAIN(
MOD(ARRAY_CONSTRAIN(SEQUENCE(COUNTA(A2:A)*COUNTA(B2:B));COUNTA(A2:A)*COUNTA(B2:B);1)-1;COUNTA(B2:B))+1
;COUNTA(A2:A)*COUNTA(B2:B);1);{SEQUENCE(COUNTA(B2:B))\FILTER(B2:B;B2:B<>"")};2;FALSE))
[/vba]Подсмотрел у aliramora191 функции COUNTA (я сначала использовал COUNTIF) и MOD - что-то я про них позабыл (давненько не использовал). В файле есть обе мои версии.

[p.s.]Великая вещь - электронные таблицы! Бесконечны![/p.s.]
Смотрел-смотрел на вторую версию, да подсократил за счёт удаления лишних ARRAY_CONSTRAIN (а то были практически друг на друга - масло масляное). Моя третья версия (в файл по ссылке тоже добавил) - уже совсем крохотулечка:
[vba]
Код
=ArrayFormula(
VLOOKUP(
INT((ARRAY_CONSTRAIN(
SEQUENCE(COUNTA(A2:A)*COUNTA(B2:B))
;COUNTA(A2:A)*COUNTA(B2:B);1)-1)/COUNTA(B2:B)+1)
;{SEQUENCE(COUNTA(A2:A))\FILTER(A2:A;A2:A<>"")};2;FALSE)
&" "&
VLOOKUP(
MOD(ARRAY_CONSTRAIN(SEQUENCE(COUNTA(A2:A)*COUNTA(B2:B));COUNTA(A2:A)*COUNTA(B2:B);1)-1;COUNTA(B2:B))+1
;{SEQUENCE(COUNTA(B2:B))\FILTER(B2:B;B2:B<>"")};2;FALSE))
[/vba]

Автор - Gustav
Дата добавления - 10.12.2021 в 10:13
Gustav Дата: Пятница, 10.12.2021, 10:48 | Сообщение № 4
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
подсократил за счёт удаления лишних ARRAY_CONSTRAIN

Мда... Оказалось, что ARRAY_CONSTRAIN вообще тут не нужны (у меня-то они появились в результате собирания мегаформулы из отдельных столбцов, а вот когда потом посмотришь на сборку пристально - так всё и выясняется). В общем, четвертая версия (уже совершенно компактная!):
[vba]
Код
=ArrayFormula(
VLOOKUP(
INT((SEQUENCE(COUNTA(A2:A)*COUNTA(B2:B))-1)/COUNTA(B2:B)+1)
;{SEQUENCE(COUNTA(A2:A))\FILTER(A2:A;A2:A<>"")};2;FALSE)
&" "&
VLOOKUP(
MOD(SEQUENCE(COUNTA(A2:A)*COUNTA(B2:B))-1;COUNTA(B2:B))+1
;{SEQUENCE(COUNTA(B2:B))\FILTER(B2:B;B2:B<>"")};2;FALSE))
[/vba]Да! И я использую VLOOKUP вместо INDEX только из-за того, что с VLOOKUP можно сделать саморасширяющуюся формулу массива, а с INDEX - увы, нет.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
подсократил за счёт удаления лишних ARRAY_CONSTRAIN

Мда... Оказалось, что ARRAY_CONSTRAIN вообще тут не нужны (у меня-то они появились в результате собирания мегаформулы из отдельных столбцов, а вот когда потом посмотришь на сборку пристально - так всё и выясняется). В общем, четвертая версия (уже совершенно компактная!):
[vba]
Код
=ArrayFormula(
VLOOKUP(
INT((SEQUENCE(COUNTA(A2:A)*COUNTA(B2:B))-1)/COUNTA(B2:B)+1)
;{SEQUENCE(COUNTA(A2:A))\FILTER(A2:A;A2:A<>"")};2;FALSE)
&" "&
VLOOKUP(
MOD(SEQUENCE(COUNTA(A2:A)*COUNTA(B2:B))-1;COUNTA(B2:B))+1
;{SEQUENCE(COUNTA(B2:B))\FILTER(B2:B;B2:B<>"")};2;FALSE))
[/vba]Да! И я использую VLOOKUP вместо INDEX только из-за того, что с VLOOKUP можно сделать саморасширяющуюся формулу массива, а с INDEX - увы, нет.

Автор - Gustav
Дата добавления - 10.12.2021 в 10:48
bubanay Дата: Суббота, 11.12.2021, 01:56 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 51
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
То, что нужно. Спасибо.
 
Ответить
СообщениеТо, что нужно. Спасибо.

Автор - bubanay
Дата добавления - 11.12.2021 в 01:56
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!