Страницы: 1
RSS
Быстрое склеивание текста из нескольких ячеек
 
Как из таблицы 1 сделать таблицу 2 ?  
Т.е. соединить 3 ячейки в одну без потери данных
 
В ячейку G2 вставить формулу:  
=B2&B3&B4
 
{quote}{login=Юрий М}{date=27.07.2008 09:05}{thema=}{post}В ячейку G2 вставить формулу:  
=B2&B3&B4{/post}{/quote}  
Спасибо, А можно по-проще что-нибудь типа    
=СЦЕПИТЬ(B2:B4)
 
Да уж куда проще? Только (применительно к Вашему тексту) необходимо добавить &" " чтобы отделить предлог И
 
{quote}{login=}{date=27.07.2008 09:20}{thema=}{post}Да уж куда проще? Только (применительно к Вашему тексту) необходимо добавить &" " чтобы отделить предлог И{/post}{/quote}  
Вот нашел что-то. Как мне это использовать?))  
Это легко делается пользовательской функцией:  
Function CONCATENATErange(myRange As Range, mySeparator As String) As String  
CONCATENATErange = ""  
For Each rr In myRange  
CONCATENATErange = CONCATENATErange & rr.Value & mySeparator  
Next  
End Function
 
Я не силён в пользовательских функциях, но Вы просили простое решение. Неужели с функцией проще?
 
Нужно диапазон сначала объявить...
 
{quote}{login=Юрий М}{date=27.07.2008 09:41}{thema=}{post}Я не силён в пользовательских функциях, но Вы просили простое решение. Неужели с функцией проще?{/post}{/quote}  
если  нужно каждый раз писать по 5 символов "&" то с функцией проще. Чет не работает она у меня((
 
Согласен - при большом количестве обрабатываемых ячеек удобно. В Вашем случае всего 8 символов в формуле. И я как-то не представляю себе задачу, где потребуется сцеплять 40-50 ячеек :-)
 
{quote}{login=Владимир}{date=27.07.2008 09:31}{thema=Re: }  
Вот нашел что-то. Как мне это использовать?))  
Это легко делается пользовательской функцией:  
 
Function CONCATENATErange(myRange As Range, mySeparator As String) As String  
CONCATENATErange = ""  
For Each rr In myRange  
CONCATENATErange = CONCATENATErange & rr.Value & mySeparator  
Next  
End Function{/post}{/quote}  
Чтобы использовать пользовательскую функцию, нажмите в открытой книге Excel сочетание клавиш Alt+F11. Откроется редактор Visual Basic. Слева, на надписи VBAProject(Книга1) в контекстном меню, вызываемом правой кнопкой мыши, выберите пункт Insert->Module и в появившемся пустом окне вставьте текст вышеприведённой пользовательской функции.  
Теперь редактор VBA можно закрыть и использовать функцию CONCATENATErange по назначению.  
Например, чтобы в ячейку A2 собрать текст из ячеек A1, B1, C1, D1, E1, не нужно перечислять все ячейки, как это приходится делать с функцией СЦЕПИТЬ.  
Просто введите в A2 формулу:  
=CONCATENATErange(A1:E1;"")  
Если содержимое ячеек нужно разделить пробелами или другими символами (например, запятыми), вставьте пробел (или запятую) между кавычками в формуле.  
 
PS Спасибо Лузеру™ за функцию.
 
{quote}{login=}{date=27.07.2008 10:29}{thema=}{post}Согласен - при большом количестве обрабатываемых ячеек удобно. В Вашем случае всего 8 символов в формуле. И я как-то не представляю себе задачу, где потребуется сцеплять 40-50 ячеек :-){/post}{/quote}  
попробуйте представить сорок раз по 8 символов)  
Каждый раз получается заново формулу писать((
 
{quote}{login=VictorK}{date=27.07.2008 10:37}{thema=Re:}{post}{quote}{login=Владимир}{date=27.07.2008 09:31}{thema=Re: }  
Вот нашел что-то. Как мне это использовать?))  
Это легко делается пользовательской функцией:  
 
Function CONCATENATErange(myRange As Range, mySeparator As String) As String  
CONCATENATErange = ""  
For Each rr In myRange  
CONCATENATErange = CONCATENATErange & rr.Value & mySeparator  
Next  
End Function{/post}{/quote}  
Чтобы использовать пользовательскую функцию, нажмите в открытой книге Excel сочетание клавиш Alt+F11. Откроется редактор Visual Basic. Слева, на надписи VBAProject(Книга1) в контекстном меню, вызываемом правой кнопкой мыши, выберите пункт Insert->Module и в появившемся пустом окне вставьте текст вышеприведённой пользовательской функции.  
Теперь редактор VBA можно закрыть и использовать функцию CONCATENATErange по назначению.  
Например, чтобы в ячейку A2 собрать текст из ячеек A1, B1, C1, D1, E1, не нужно перечислять все ячейки, как это приходится делать с функцией СЦЕПИТЬ.  
Просто введите в A2 формулу:  
=CONCATENATErange(A1:E1;"")  
Если содержимое ячеек нужно разделить пробелами или другими символами (например, запятыми), вставьте пробел (или запятую) между кавычками в формуле.  
 
PS Спасибо Лузеру™ за функцию.{/post}{/quote}  
Ура работает!  
Спасибо VictorK, спасибо Лузеру™)
Страницы: 1
Наверх