Автоматическое формирование строки из столбца
tapochta
Дата: Среда, 08.07.2020, 01:17 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Нужно автоматическое заполнение строк по мере расширения исходного столбца, но элементы через разделитель (перед разделителем пробел)
Нужно автоматическое заполнение строк по мере расширения исходного столбца, но элементы через разделитель (перед разделителем пробел) tapochta
Ответить
Сообщение Нужно автоматическое заполнение строк по мере расширения исходного столбца, но элементы через разделитель (перед разделителем пробел) Автор - tapochta Дата добавления - 08.07.2020 в 01:17
прохожий2019
Дата: Среда, 08.07.2020, 01:33 |
Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1241
Репутация:
317
±
Замечаний:
0% ±
365 Beta Channel
Код
=ОБЪЕДИНИТЬ(" | ";1;C2:C31)
Ответить
Сообщение Код
=ОБЪЕДИНИТЬ(" | ";1;C2:C31)
Автор - прохожий2019 Дата добавления - 08.07.2020 в 01:33
tapochta
Дата: Среда, 08.07.2020, 18:09 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
=_xlfn.TEXTJOIN(" | ";1;C2:C31) или =ОБЪЕДИНИТЬ(" | ";1;C2:C31) - ничего не работает.
=_xlfn.TEXTJOIN(" | ";1;C2:C31) или =ОБЪЕДИНИТЬ(" | ";1;C2:C31) - ничего не работает. tapochta
Ответить
Сообщение =_xlfn.TEXTJOIN(" | ";1;C2:C31) или =ОБЪЕДИНИТЬ(" | ";1;C2:C31) - ничего не работает. Автор - tapochta Дата добавления - 08.07.2020 в 18:09
прохожий2019
Дата: Среда, 08.07.2020, 18:34 |
Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1241
Репутация:
317
±
Замечаний:
0% ±
365 Beta Channel
точно, ОБЪЕДИНИТЬ() появилась в 2019 экселе, тогда UDF: [vba]Код
Function objedinit$(r As Range, delim$) For Each c In r If c <> "" Then s = s & delim & c Next objedinit = Mid(s, Len(delim)) End Function
[/vba]
точно, ОБЪЕДИНИТЬ() появилась в 2019 экселе, тогда UDF: [vba]Код
Function objedinit$(r As Range, delim$) For Each c In r If c <> "" Then s = s & delim & c Next objedinit = Mid(s, Len(delim)) End Function
[/vba] прохожий2019
Ответить
Сообщение точно, ОБЪЕДИНИТЬ() появилась в 2019 экселе, тогда UDF: [vba]Код
Function objedinit$(r As Range, delim$) For Each c In r If c <> "" Then s = s & delim & c Next objedinit = Mid(s, Len(delim)) End Function
[/vba] Автор - прохожий2019 Дата добавления - 08.07.2020 в 18:34
alexa1965
Дата: Четверг, 09.07.2020, 08:32 |
Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 342
Репутация:
55
±
Замечаний:
0% ±
2003> 2019 >2016
Код
=ТРАНСП(C2)&ЕСЛИ(ТРАНСП(C3)=0;"";" - "&ТРАНСП(C3))&ЕСЛИ(ТРАНСП(C4)=0;"";" - "&ТРАНСП(C4))&ЕСЛИ(ТРАНСП(C5)=0;"";" - "&ТРАНСП(C5))&ЕСЛИ(ТРАНСП(C6)=0;"";" - "&ТРАНСП(C6))&ЕСЛИ(ТРАНСП(C7)=0;"";" - "&ТРАНСП(C7))&ЕСЛИ(ТРАНСП(C8)=0;"";" - "&ТРАНСП(C8))
Как вариант без макросов для черты
Код
=ТРАНСП(C2)&ЕСЛИ(ТРАНСП(C3)=0;"";" - "&ТРАНСП(C3))&ЕСЛИ(ТРАНСП(C4)=0;"";" - "&ТРАНСП(C4))&ЕСЛИ(ТРАНСП(C5)=0;"";" - "&ТРАНСП(C5))&ЕСЛИ(ТРАНСП(C6)=0;"";" - "&ТРАНСП(C6))&ЕСЛИ(ТРАНСП(C7)=0;"";" - "&ТРАНСП(C7))&ЕСЛИ(ТРАНСП(C8)=0;"";" - "&ТРАНСП(C8))
Как вариант без макросов для чертыalexa1965
Главное не быть балабастиком
Ответить
Сообщение Код
=ТРАНСП(C2)&ЕСЛИ(ТРАНСП(C3)=0;"";" - "&ТРАНСП(C3))&ЕСЛИ(ТРАНСП(C4)=0;"";" - "&ТРАНСП(C4))&ЕСЛИ(ТРАНСП(C5)=0;"";" - "&ТРАНСП(C5))&ЕСЛИ(ТРАНСП(C6)=0;"";" - "&ТРАНСП(C6))&ЕСЛИ(ТРАНСП(C7)=0;"";" - "&ТРАНСП(C7))&ЕСЛИ(ТРАНСП(C8)=0;"";" - "&ТРАНСП(C8))
Как вариант без макросов для чертыАвтор - alexa1965 Дата добавления - 09.07.2020 в 08:32
прохожий2019
Дата: Четверг, 09.07.2020, 09:09 |
Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 1241
Репутация:
317
±
Замечаний:
0% ±
365 Beta Channel
alexa1965 , а зачем вы используете ТРАНСП()? ваш вариант сводится к Код
=C2&ЕСЛИ(C3<>"";" | "&C3;"")&ЕСЛИ(C4<>"";" | "&C4;"")&ЕСЛИ(C5<>"";" | "&C5;"")&ЕСЛИ(C6<>"";" | "&C6;"")&ЕСЛИ(C7<>"";" | "&C7;"")&ЕСЛИ(C8<>"";" | "&C8;"")
или я чего-то не догнал?
alexa1965 , а зачем вы используете ТРАНСП()? ваш вариант сводится к Код
=C2&ЕСЛИ(C3<>"";" | "&C3;"")&ЕСЛИ(C4<>"";" | "&C4;"")&ЕСЛИ(C5<>"";" | "&C5;"")&ЕСЛИ(C6<>"";" | "&C6;"")&ЕСЛИ(C7<>"";" | "&C7;"")&ЕСЛИ(C8<>"";" | "&C8;"")
или я чего-то не догнал?прохожий2019
Ответить
Сообщение alexa1965 , а зачем вы используете ТРАНСП()? ваш вариант сводится к Код
=C2&ЕСЛИ(C3<>"";" | "&C3;"")&ЕСЛИ(C4<>"";" | "&C4;"")&ЕСЛИ(C5<>"";" | "&C5;"")&ЕСЛИ(C6<>"";" | "&C6;"")&ЕСЛИ(C7<>"";" | "&C7;"")&ЕСЛИ(C8<>"";" | "&C8;"")
или я чего-то не догнал?Автор - прохожий2019 Дата добавления - 09.07.2020 в 09:09
alexa1965
Дата: Четверг, 09.07.2020, 09:32 |
Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 342
Репутация:
55
±
Замечаний:
0% ±
2003> 2019 >2016
а зачем вы используете ТРАНСП()? ваш вариант сводится к
и правда... жара однако
а зачем вы используете ТРАНСП()? ваш вариант сводится к
и правда... жара однакоalexa1965
Главное не быть балабастиком
Ответить
Сообщение а зачем вы используете ТРАНСП()? ваш вариант сводится к
и правда... жара однакоАвтор - alexa1965 Дата добавления - 09.07.2020 в 09:32
tapochta
Дата: Четверг, 09.07.2020, 21:32 |
Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
ОБЪЕДИНИТЬ() появилась в 2019 экселе, тогда UDF: Function objedinit$(r As Range, delim$) For Each c In r If c <> "" Then s = s & delim & c Next objedinit = Mid(s, Len(delim)) End Function
Так отлично работает, но не спец с макросами, надо бы в новый документы интегрировать, а не наоборот. Макрос включаю так: вкладка Разработчик - слева кн Визуал бейсик - выбираю в списке Эта книга, вставляю код выше, сохраняю в .xlsxm - вижу: #ИМЯ? Что делаю не так?
ОБЪЕДИНИТЬ() появилась в 2019 экселе, тогда UDF: Function objedinit$(r As Range, delim$) For Each c In r If c <> "" Then s = s & delim & c Next objedinit = Mid(s, Len(delim)) End Function
Так отлично работает, но не спец с макросами, надо бы в новый документы интегрировать, а не наоборот. Макрос включаю так: вкладка Разработчик - слева кн Визуал бейсик - выбираю в списке Эта книга, вставляю код выше, сохраняю в .xlsxm - вижу: #ИМЯ? Что делаю не так?tapochta
Ответить
Сообщение ОБЪЕДИНИТЬ() появилась в 2019 экселе, тогда UDF: Function objedinit$(r As Range, delim$) For Each c In r If c <> "" Then s = s & delim & c Next objedinit = Mid(s, Len(delim)) End Function
Так отлично работает, но не спец с макросами, надо бы в новый документы интегрировать, а не наоборот. Макрос включаю так: вкладка Разработчик - слева кн Визуал бейсик - выбираю в списке Эта книга, вставляю код выше, сохраняю в .xlsxm - вижу: #ИМЯ? Что делаю не так?Автор - tapochta Дата добавления - 09.07.2020 в 21:32
прохожий2019
Дата: Четверг, 09.07.2020, 21:36 |
Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 1241
Репутация:
317
±
Замечаний:
0% ±
365 Beta Channel
функции хранят в программных модулях, а не в модуле книги (посмотрите мой файл через VBE)
функции хранят в программных модулях, а не в модуле книги (посмотрите мой файл через VBE) прохожий2019
Сообщение отредактировал прохожий2019 - Четверг, 09.07.2020, 21:37
Ответить
Сообщение функции хранят в программных модулях, а не в модуле книги (посмотрите мой файл через VBE) Автор - прохожий2019 Дата добавления - 09.07.2020 в 21:36
tapochta
Дата: Пятница, 10.07.2020, 10:37 |
Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
функции хранят в программных модулях, а не в модуле книги (посмотрите мой файл через VBE)
Благодарю, заработало. Но к сожалению не везде можно использовать другой формат файла. Можно просто формулой еще как-то? Выше представленные способы в 2010м не работают.
функции хранят в программных модулях, а не в модуле книги (посмотрите мой файл через VBE)
Благодарю, заработало. Но к сожалению не везде можно использовать другой формат файла. Можно просто формулой еще как-то? Выше представленные способы в 2010м не работают.tapochta
Ответить
Сообщение функции хранят в программных модулях, а не в модуле книги (посмотрите мой файл через VBE)
Благодарю, заработало. Но к сожалению не везде можно использовать другой формат файла. Можно просто формулой еще как-то? Выше представленные способы в 2010м не работают.Автор - tapochta Дата добавления - 10.07.2020 в 10:37
прохожий2019
Дата: Пятница, 10.07.2020, 11:29 |
Сообщение № 11
Группа: Проверенные
Ранг: Старожил
Сообщений: 1241
Репутация:
317
±
Замечаний:
0% ±
365 Beta Channel
Выше представленные способы в 2010м не работают
способ из #6 прекрасно работает, причем и более ранних версиях тоже
Выше представленные способы в 2010м не работают
способ из #6 прекрасно работает, причем и более ранних версиях тожепрохожий2019
Ответить
Сообщение Выше представленные способы в 2010м не работают
способ из #6 прекрасно работает, причем и более ранних версиях тожеАвтор - прохожий2019 Дата добавления - 10.07.2020 в 11:29
alexa1965
Дата: Пятница, 10.07.2020, 12:41 |
Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 342
Репутация:
55
±
Замечаний:
0% ±
2003> 2019 >2016
способ из #6 прекрасно работает, причем и более ранних версиях тоже
Подтверждаю!
способ из #6 прекрасно работает, причем и более ранних версиях тоже
Подтверждаю!alexa1965
Главное не быть балабастиком
Ответить
Сообщение способ из #6 прекрасно работает, причем и более ранних версиях тоже
Подтверждаю!Автор - alexa1965 Дата добавления - 10.07.2020 в 12:41
tapochta
Дата: Пятница, 10.07.2020, 20:33 |
Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Работает, но как размножать формулу? В исходных столбцах могут быть разные данные, в тч и по 100 -200 строк и оно постоянно меняется. Ну и формат файла нельзя менять - использовать только текущие xlsx.
Работает, но как размножать формулу? В исходных столбцах могут быть разные данные, в тч и по 100 -200 строк и оно постоянно меняется. Ну и формат файла нельзя менять - использовать только текущие xlsx. tapochta
Ответить
Сообщение Работает, но как размножать формулу? В исходных столбцах могут быть разные данные, в тч и по 100 -200 строк и оно постоянно меняется. Ну и формат файла нельзя менять - использовать только текущие xlsx. Автор - tapochta Дата добавления - 10.07.2020 в 20:33
прохожий2019
Дата: Пятница, 10.07.2020, 20:40 |
Сообщение № 14
Группа: Проверенные
Ранг: Старожил
Сообщений: 1241
Репутация:
317
±
Замечаний:
0% ±
365 Beta Channel
варианты: 1) вручную переписать формулу из #6 - доведя анализируемый диапазон до 100-200 ячеек 2) договориться с безопасниками и использовать xlsm (с функцией на VBA) 3) договориться с работодателем об апгрейде на 365 4) использовать другое бесплатное ПО (тот же TEXTJOIN() есть у Google)
варианты: 1) вручную переписать формулу из #6 - доведя анализируемый диапазон до 100-200 ячеек 2) договориться с безопасниками и использовать xlsm (с функцией на VBA) 3) договориться с работодателем об апгрейде на 365 4) использовать другое бесплатное ПО (тот же TEXTJOIN() есть у Google) прохожий2019
Сообщение отредактировал прохожий2019 - Пятница, 10.07.2020, 20:42
Ответить
Сообщение варианты: 1) вручную переписать формулу из #6 - доведя анализируемый диапазон до 100-200 ячеек 2) договориться с безопасниками и использовать xlsm (с функцией на VBA) 3) договориться с работодателем об апгрейде на 365 4) использовать другое бесплатное ПО (тот же TEXTJOIN() есть у Google) Автор - прохожий2019 Дата добавления - 10.07.2020 в 20:40