Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Главное меню

Объединение текстовых ячеек со сцеплением текста

Автор gregory9791, 06.02.2018, 16:01

« назад - далее »

gregory9791

Есть большой перечень элементов в котором наименования радиоэлементов разбиты на несколько строк (2-3) и столбец с количеством.
Необходимо преобразовать эту таблицу так, чтобы все наименования были одной строкой с количеством в соседнем столбце.

Заранее спасибо.

boa

объединять можно через знак "&"
В вашем случае =RC1&" "&R[1]C1
а можно и через функцию объединения
=CONCATENATE(RC1;" ";R[1]C1)
=СЦЕПИТЬ($A2;" ";$A3)
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

gregory9791

Этот вариант самый очевидный, но не вполне рабочий.
Во-первых иногда разбиение идет не на две строки, а на 3 или даже 4 и соответственно одна формула для всех вариантов не сработает. А во-вторых после этого придется фильтром удалять ненужные строки. 

vikttur

Ответ был дан по вашему примеру. Как показали, так и получили :)

gregory9791

Хотелось бы что-нибудь типа макроса.
Приложил файл с разбиением на разное количество строк (2-3).

runner

В ячейку C1         
=ЕСЛИ(И(B2<>"";B1="");A1;A1&" "&C2)
размножить вниз, фильтр по столбцу B  = напротив значений полный текст

boa

Здравствуйте,
прежде чем переходить на макросы попробуйте решить данную задачу формулами
формула конкатенации =IF(RC2=0;R[-1]C&" "&RC1;RC1)
формула выведения количества =IF(IFERROR(SEARCH(RC3;R[1]C3);0)>0;"";LOOKUP(2;1/(R2C2:RC2);R2C2:RC2))
после введения данных формул, по 4-й колонке фильтром исключите пустые ячейки. Видимый список скопируйте на новый лист.
Делов на 5 сек.

З.Ы. если исходный список очень большой для увеличения производительности можно R2C2 заменить на R[-5]C2 , где 5 - максимальное количество строк для каждого наименования
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

gregory9791