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

Вход

Регистрация

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

 

= Мир MS Excel/Объединение текстовых данных из нескольких строк - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Объединение текстовых данных из нескольких строк
Neuro75 Дата: Четверг, 24.08.2017, 23:42 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте.
Есть задача объединения текстовых данных из нескольких строк по ключевому полю с разделителем.
Так, имеется таблица вида:
...А........B
1 00001 "некий текст 1"
2 00001 "некий текст 2"
3 00001 "некий текст 3"
4 00002 "некий текст 4"
5 00003 "некий текст 5"
6 00003 "некий текст 6"

Все значения в столбцах А и В имеют текстовый формат (что связано с ведущими нулями в столбце А).
Столбец А - ключевое поле.
Количество строк с совпадающим ключом А - произвольно. Может быть одно, может быть двадцать.
Каким образом ее можно привести к виду:
...А........B
1 00001 "некий текст 1", какой-либо разделитель, "некий текст 2", какой-либо разделитель, "некий текст 3"
2 00002 "некий текст 4"
3 00003 "некий текст 5", какой-либо разделитель, "некий текст 6"
Количество строк в таблице более 190 000, поэтому работа с ней вручную не представляется возможной. Также, исходя из этого, урезанный пример прилагаю в формате Excel 2010.
Заранее спасибо.
К сообщению приложен файл: 7650227.xlsx (8.5 Kb)


Сообщение отредактировал Neuro75 - Четверг, 24.08.2017, 23:45
 
Ответить
СообщениеЗдравствуйте.
Есть задача объединения текстовых данных из нескольких строк по ключевому полю с разделителем.
Так, имеется таблица вида:
...А........B
1 00001 "некий текст 1"
2 00001 "некий текст 2"
3 00001 "некий текст 3"
4 00002 "некий текст 4"
5 00003 "некий текст 5"
6 00003 "некий текст 6"

Все значения в столбцах А и В имеют текстовый формат (что связано с ведущими нулями в столбце А).
Столбец А - ключевое поле.
Количество строк с совпадающим ключом А - произвольно. Может быть одно, может быть двадцать.
Каким образом ее можно привести к виду:
...А........B
1 00001 "некий текст 1", какой-либо разделитель, "некий текст 2", какой-либо разделитель, "некий текст 3"
2 00002 "некий текст 4"
3 00003 "некий текст 5", какой-либо разделитель, "некий текст 6"
Количество строк в таблице более 190 000, поэтому работа с ней вручную не представляется возможной. Также, исходя из этого, урезанный пример прилагаю в формате Excel 2010.
Заранее спасибо.

Автор - Neuro75
Дата добавления - 24.08.2017 в 23:42
iMrTidy Дата: Пятница, 25.08.2017, 00:26 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 85
Репутация: 14 ±
Замечаний: 0% ±

NO
Neuro75, если задача разоавя, то убедиться, что Main_Code отсортирован в алфавитном порядке, затем "собрать" значения при помощи:
Код
=IF(A2=A1;C1&";"&B2;B2)

Далее, скопировать столбец Main_Code отдельно, применить к данным функцию "Удалить дубликаты". Затем, вытащить значения с максимальным номером ряда:
Код
=INDEX(C:C;SUMPRODUCT(MAX(($A$2:$A$25=E2)*(ROW($A$2:$A$25)))))

Если задача динамическая, то можно макросом.
К сообщению приложен файл: 9534928.xlsx (9.9 Kb)


Вышенаписанное мной не является истиной, но лишь моя точка зрения, которая скорее всего ошибочна.
 
Ответить
СообщениеNeuro75, если задача разоавя, то убедиться, что Main_Code отсортирован в алфавитном порядке, затем "собрать" значения при помощи:
Код
=IF(A2=A1;C1&";"&B2;B2)

Далее, скопировать столбец Main_Code отдельно, применить к данным функцию "Удалить дубликаты". Затем, вытащить значения с максимальным номером ряда:
Код
=INDEX(C:C;SUMPRODUCT(MAX(($A$2:$A$25=E2)*(ROW($A$2:$A$25)))))

Если задача динамическая, то можно макросом.

Автор - iMrTidy
Дата добавления - 25.08.2017 в 00:26
Neuro75 Дата: Пятница, 25.08.2017, 07:15 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо
 
Ответить
СообщениеСпасибо

Автор - Neuro75
Дата добавления - 25.08.2017 в 07:15
китин Дата: Пятница, 25.08.2017, 07:17 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 7034
Репутация: 1079 ±
Замечаний: 0% ±

Excel 2007;2010;2016
и вам не хворать.
сначала
скопировать столбец Main_Code отдельно, применить к данным функцию "Удалить дубликаты".

затем применить UDF ,СцепитЕсли , выложенную The_Prist на этом форуме ЗДЕСЬ
К сообщению приложен файл: Neuro75.xlsb (18.2 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениеи вам не хворать.
сначала
скопировать столбец Main_Code отдельно, применить к данным функцию "Удалить дубликаты".

затем применить UDF ,СцепитЕсли , выложенную The_Prist на этом форуме ЗДЕСЬ

Автор - китин
Дата добавления - 25.08.2017 в 07:17
  • Страница 1 из 1
  • 1
Поиск:

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