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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Объединить текст из нескольких ячеек в одну (Формулы/Formulas)
Объединить текст из нескольких ячеек в одну
Anpetu Дата: Суббота, 04.08.2018, 21:46 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте! И снова я к Вам за помощью)
Есть определенный текст. Необходимо объединить текст в ячейках между [expand=Описание] и [/expand] и поместить его в отдельную ячейку в той же строке, что и [expand=Описание]. Надеюсь, понятно объяснила, и это вообще возможно средствами Excel...
Файл с исходным текстом и файл с итоговым текстом (что должно получиться) прилагаю.

Помогите, пожалуйста! Текст большой, вручную переносить очень долго(((((
К сообщению приложен файл: 6342058.xlsx (10.0 Kb) · 6530996.xlsx (10.4 Kb)


Сообщение отредактировал Anpetu - Суббота, 04.08.2018, 21:48
 
Ответить
СообщениеЗдравствуйте! И снова я к Вам за помощью)
Есть определенный текст. Необходимо объединить текст в ячейках между [expand=Описание] и [/expand] и поместить его в отдельную ячейку в той же строке, что и [expand=Описание]. Надеюсь, понятно объяснила, и это вообще возможно средствами Excel...
Файл с исходным текстом и файл с итоговым текстом (что должно получиться) прилагаю.

Помогите, пожалуйста! Текст большой, вручную переносить очень долго(((((

Автор - Anpetu
Дата добавления - 04.08.2018 в 21:46
Светлый Дата: Суббота, 04.08.2018, 22:12 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация: 510 ±
Замечаний: 0% ±

Excel 2013, 2016
Здравствуйте!
Код
=ЕСЛИ(ЛЕВБ(B2;7)="[expand";B2&B3;"")

Недопонял условия.


Программировать проще, чем писать стихи.

Сообщение отредактировал Светлый - Суббота, 04.08.2018, 22:21
 
Ответить
СообщениеЗдравствуйте!
Код
=ЕСЛИ(ЛЕВБ(B2;7)="[expand";B2&B3;"")

Недопонял условия.

Автор - Светлый
Дата добавления - 04.08.2018 в 22:12
Anpetu Дата: Суббота, 04.08.2018, 22:31 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Цитата Светлый, 04.08.2018 в 22:12, в сообщении № 2 ()
=ЕСЛИ(ЛЕВБ(B2;7)="[expand";B2&B3;"")

Ваш вариант переносит в соседнюю ячейку только текст из одной ячейки, а мне нужно объединить текст между [expand=Описание] и [/expand] и поместить его в отдельную ячейку. Т.е. объединить нужно вот это, например:

[expand=Описание]Преимущества:
Содержит экстракт моринга, глину и мелкие частички скраба.
Удаляет ороговевший слой кожи, очищает поры от загрязнений, уменьшает количество черных точек, прекрасно удаляет ежедневные загрязнения и стойкий макияж.
Способ применения: Пенка для умывания: выдавите на ладонь 2-3 см средства, добавьте немного воды, хорошо вспеньте. Полученную пену нанесите на заранее увлажненное лицо, после легкого массажа тщательно смойте водой. Очищающая маска: равномерно нанесите маску на кожу лица тонким слоем после высыхания смойте водой. Рекомендуется использовать 1-2 раза в неделю. [/expand]

Этот текст находится в нескольких строках. И такого текста различного много. Общее у него то, что он начинается с [expand=Описание] и заканчивается [/expand].


Сообщение отредактировал Anpetu - Суббота, 04.08.2018, 22:32
 
Ответить
Сообщение
Цитата Светлый, 04.08.2018 в 22:12, в сообщении № 2 ()
=ЕСЛИ(ЛЕВБ(B2;7)="[expand";B2&B3;"")

Ваш вариант переносит в соседнюю ячейку только текст из одной ячейки, а мне нужно объединить текст между [expand=Описание] и [/expand] и поместить его в отдельную ячейку. Т.е. объединить нужно вот это, например:

[expand=Описание]Преимущества:
Содержит экстракт моринга, глину и мелкие частички скраба.
Удаляет ороговевший слой кожи, очищает поры от загрязнений, уменьшает количество черных точек, прекрасно удаляет ежедневные загрязнения и стойкий макияж.
Способ применения: Пенка для умывания: выдавите на ладонь 2-3 см средства, добавьте немного воды, хорошо вспеньте. Полученную пену нанесите на заранее увлажненное лицо, после легкого массажа тщательно смойте водой. Очищающая маска: равномерно нанесите маску на кожу лица тонким слоем после высыхания смойте водой. Рекомендуется использовать 1-2 раза в неделю. [/expand]

Этот текст находится в нескольких строках. И такого текста различного много. Общее у него то, что он начинается с [expand=Описание] и заканчивается [/expand].

Автор - Anpetu
Дата добавления - 04.08.2018 в 22:31
Pelena Дата: Суббота, 04.08.2018, 22:34 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19176
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
Вариант с промежуточными результатами. Окончательная строка подкрашена желтым с помощью Условного форматирования
К сообщению приложен файл: 3585083.xlsx (12.5 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВариант с промежуточными результатами. Окончательная строка подкрашена желтым с помощью Условного форматирования

Автор - Pelena
Дата добавления - 04.08.2018 в 22:34
Светлый Дата: Суббота, 04.08.2018, 22:54 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация: 510 ±
Замечаний: 0% ±

Excel 2013, 2016
Ваш вариант переносит в соседнюю ячейку только текст из одной ячейки

Цитата Светлый, 04.08.2018 в 22:12, в сообщении № 2 ()
Недопонял условия.

Исправил (массивная):
Код
=ЕСЛИ(ЛЕВБ(B2;7)="[expand";B2&ЕСЛИ(1<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B3;"")&ЕСЛИ(2<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B4;"")&ЕСЛИ(3<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B5;"")&ЕСЛИ(4<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B6;"")&ЕСЛИ(5<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B7;"")&ЕСЛИ(6<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B8;"")&ЕСЛИ(7<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B9;"")&ЕСЛИ(8<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B10;"")&ЕСЛИ(9<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B11;"");"")


Программировать проще, чем писать стихи.
 
Ответить
Сообщение
Ваш вариант переносит в соседнюю ячейку только текст из одной ячейки

Цитата Светлый, 04.08.2018 в 22:12, в сообщении № 2 ()
Недопонял условия.

Исправил (массивная):
Код
=ЕСЛИ(ЛЕВБ(B2;7)="[expand";B2&ЕСЛИ(1<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B3;"")&ЕСЛИ(2<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B4;"")&ЕСЛИ(3<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B5;"")&ЕСЛИ(4<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B6;"")&ЕСЛИ(5<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B7;"")&ЕСЛИ(6<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B8;"")&ЕСЛИ(7<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B9;"")&ЕСЛИ(8<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B10;"")&ЕСЛИ(9<ПОИСКПОЗ("expand]";ПРАВБ(B2:B12;7););" "&B11;"");"")

Автор - Светлый
Дата добавления - 04.08.2018 в 22:54
Anpetu Дата: Суббота, 04.08.2018, 23:19 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Светлый, спасибо. Только у меня почему-то вместо текста проставляется #ЗНАЧ!
 
Ответить
СообщениеСветлый, спасибо. Только у меня почему-то вместо текста проставляется #ЗНАЧ!

Автор - Anpetu
Дата добавления - 04.08.2018 в 23:19
Anpetu Дата: Суббота, 04.08.2018, 23:26 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Pelena, Ваш способ подошел, спасибо.
 
Ответить
СообщениеPelena, Ваш способ подошел, спасибо.

Автор - Anpetu
Дата добавления - 04.08.2018 в 23:26
Pelena Дата: Воскресенье, 05.08.2018, 06:27 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 19176
Репутация: 4413 ±
Замечаний: ±

Excel 365 & Mac Excel
почему-то вместо текста проставляется #ЗНАЧ!

не забыли, что формула массива вводится сочетанием клавиш Ctrl+Shift+Enter?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
почему-то вместо текста проставляется #ЗНАЧ!

не забыли, что формула массива вводится сочетанием клавиш Ctrl+Shift+Enter?

Автор - Pelena
Дата добавления - 05.08.2018 в 06:27
Anpetu Дата: Воскресенье, 05.08.2018, 13:14 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
не забыли, что формула массива вводится сочетанием клавиш Ctrl+Shift+Enter?

Забыла...

Светлый, Pelena, спасибо большое за оперативные ответы!!!


Сообщение отредактировал Anpetu - Воскресенье, 05.08.2018, 13:16
 
Ответить
Сообщение
не забыли, что формула массива вводится сочетанием клавиш Ctrl+Shift+Enter?

Забыла...

Светлый, Pelena, спасибо большое за оперативные ответы!!!

Автор - Anpetu
Дата добавления - 05.08.2018 в 13:14
krosav4ig Дата: Воскресенье, 05.08.2018, 23:28 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
до кучи, вариант на VBA[vba]
Код
Sub ConcatRows()
    Dim cell As Range, cell1 As Range, addr$
    With Me.[B:B]
        Set cell = .Find("[expand", .Cells(1), xlFormulas, xlPart, xlByRows, xlNext, False, False)
        addr = cell.Address
        Do
            If InStr(cell, "[/expand") = 0 Then
                Set cell1 = .Find("[/expand", cell, xlFormulas, xlPart, xlByRows, xlNext, False, False)
                With Me.Range(cell, cell1)
                    cell = Join(Application.Transpose(Me.Range(cell, cell1)), vbLf)
                    .Offset(1).Resize(.Count - 1).Delete xlUp
                End With
             End If
             Set cell = .Find("[expand", cell, xlFormulas, xlPart, xlByRows, xlNext, False, False)
        Loop While Not cell Is Nothing And cell.Address <> addr
    End With
End Sub
[/vba]
К сообщению приложен файл: 6342058.xlsm (16.3 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениедо кучи, вариант на VBA[vba]
Код
Sub ConcatRows()
    Dim cell As Range, cell1 As Range, addr$
    With Me.[B:B]
        Set cell = .Find("[expand", .Cells(1), xlFormulas, xlPart, xlByRows, xlNext, False, False)
        addr = cell.Address
        Do
            If InStr(cell, "[/expand") = 0 Then
                Set cell1 = .Find("[/expand", cell, xlFormulas, xlPart, xlByRows, xlNext, False, False)
                With Me.Range(cell, cell1)
                    cell = Join(Application.Transpose(Me.Range(cell, cell1)), vbLf)
                    .Offset(1).Resize(.Count - 1).Delete xlUp
                End With
             End If
             Set cell = .Find("[expand", cell, xlFormulas, xlPart, xlByRows, xlNext, False, False)
        Loop While Not cell Is Nothing And cell.Address <> addr
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 05.08.2018 в 23:28
Anpetu Дата: Понедельник, 06.08.2018, 14:15 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
krosav4ig, спасибо, но вот что у меня выдает при запуске макроса:



Сообщение отредактировал Anpetu - Понедельник, 06.08.2018, 14:15
 
Ответить
Сообщениеkrosav4ig, спасибо, но вот что у меня выдает при запуске макроса:


Автор - Anpetu
Дата добавления - 06.08.2018 в 14:15
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Объединить текст из нескольких ячеек в одну (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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