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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическое формирование строки из столбца - Мир MS Excel

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

Excel 2016
Нужно автоматическое заполнение строк по мере расширения исходного столбца, но элементы через разделитель (перед разделителем пробел)
К сообщению приложен файл: 2391018.xlsx (9.7 Kb)
 
Ответить
СообщениеНужно автоматическое заполнение строк по мере расширения исходного столбца, но элементы через разделитель (перед разделителем пробел)

Автор - tapochta
Дата добавления - 08.07.2020 в 01:17
прохожий2019 Дата: Среда, 08.07.2020, 01:33 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1241
Репутация: 317 ±
Замечаний: 0% ±

365 Beta Channel
Код
=ОБЪЕДИНИТЬ(" | ";1;C2:C31)
К сообщению приложен файл: 3207369.xlsx (11.0 Kb)
 
Ответить
Сообщение
Код
=ОБЪЕДИНИТЬ(" | ";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
Дата добавления - 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]
К сообщению приложен файл: 2391018-1-.xlsm (16.8 Kb)
 
Ответить
Сообщение
ничего не работает
точно, ОБЪЕДИНИТЬ() появилась в 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
Дата добавления - 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;"")
или я чего-то не догнал?
К сообщению приложен файл: 8220179.xlsm (17.0 Kb)
 
Ответить
Сообщение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
Цитата прохожий2019, 09.07.2020 в 09:09, в сообщении № 6 ()
а зачем вы используете ТРАНСП()? ваш вариант сводится к

и правда... жара однако


Главное не быть балабастиком
 
Ответить
Сообщение
Цитата прохожий2019, 09.07.2020 в 09:09, в сообщении № 6 ()
а зачем вы используете ТРАНСП()? ваш вариант сводится к

и правда... жара однако

Автор - alexa1965
Дата добавления - 09.07.2020 в 09:32
tapochta Дата: Четверг, 09.07.2020, 21:32 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Цитата прохожий2019, 08.07.2020 в 18:34, в сообщении № 4 ()
ОБЪЕДИНИТЬ() появилась в 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, 08.07.2020 в 18:34, в сообщении № 4 ()
ОБЪЕДИНИТЬ() появилась в 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)
К сообщению приложен файл: 7622359.jpg (57.9 Kb)


Сообщение отредактировал прохожий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
Цитата прохожий2019, 09.07.2020 в 21:36, в сообщении № 9 ()
функции хранят в программных модулях, а не в модуле книги (посмотрите мой файл через VBE)

Благодарю, заработало.
Но к сожалению не везде можно использовать другой формат файла. Можно просто формулой еще как-то? Выше представленные способы в 2010м не работают.
 
Ответить
Сообщение
Цитата прохожий2019, 09.07.2020 в 21:36, в сообщении № 9 ()
функции хранят в программных модулях, а не в модуле книги (посмотрите мой файл через 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
Дата добавления - 10.07.2020 в 11:29
alexa1965 Дата: Пятница, 10.07.2020, 12:41 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 342
Репутация: 55 ±
Замечаний: 0% ±

2003> 2019 >2016
Цитата прохожий2019, 10.07.2020 в 11:29, в сообщении № 11 ()
способ из #6 прекрасно работает, причем и более ранних версиях тоже

Подтверждаю!


Главное не быть балабастиком
 
Ответить
Сообщение
Цитата прохожий2019, 10.07.2020 в 11:29, в сообщении № 11 ()
способ из #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
Дата добавления - 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)


Сообщение отредактировал прохожий2019 - Пятница, 10.07.2020, 20:42
 
Ответить
Сообщение
как размножать формулу?
варианты:
1) вручную переписать формулу из #6 - доведя анализируемый диапазон до 100-200 ячеек
2) договориться с безопасниками и использовать xlsm (с функцией на VBA)
3) договориться с работодателем об апгрейде на 365
4) использовать другое бесплатное ПО (тот же TEXTJOIN() есть у Google)

Автор - прохожий2019
Дата добавления - 10.07.2020 в 20:40
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Автоматическое формирование строки из столбца (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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