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

Вход

Регистрация

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

 

= Мир MS Excel/Как удалить лишние запятые в формуле объединения - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как удалить лишние запятые в формуле объединения (Формулы/Formulas)
Как удалить лишние запятые в формуле объединения
SkyGreen Дата: Пятница, 08.12.2023, 07:27 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Доброго дня.
Помогите решить вопрос.

Есть несколько ячеек, которые объединены формулой с учетом запятых.
Но если некоторые слова из ячеек удаляются - то лишние запятые остаются.

Как при помощи формулы сделать так, чтобы при удалении слов из ячеек - лишние запятые не отображались?
К сообщению приложен файл: 1678.xls (35.5 Kb)
 
Ответить
СообщениеДоброго дня.
Помогите решить вопрос.

Есть несколько ячеек, которые объединены формулой с учетом запятых.
Но если некоторые слова из ячеек удаляются - то лишние запятые остаются.

Как при помощи формулы сделать так, чтобы при удалении слов из ячеек - лишние запятые не отображались?

Автор - SkyGreen
Дата добавления - 08.12.2023 в 07:27
bigor Дата: Пятница, 08.12.2023, 10:21 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1105
Репутация: 210 ±
Замечаний: 0% ±

нет
SkyGreen, если офис поддерживает объединить(), то используйте эту функцию
 
Ответить
СообщениеSkyGreen, если офис поддерживает объединить(), то используйте эту функцию

Автор - bigor
Дата добавления - 08.12.2023 в 10:21
DrMini Дата: Пятница, 08.12.2023, 14:12 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1650
Репутация: 209 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Здравствуйте SkyGreen,
Как при помощи формулы сделать так, чтобы при удалении слов из ячеек - лишние запятые не отображались?

Вариант bigor, на порядок лучше и проще но если заморочиться и Excel старенький то можно так:
Код
="Первый текст="&D3&ЕСЛИ(E3<>"";","&E3;"")&ЕСЛИ(F3<>"";","&F3;"")&ЕСЛИ(G3<>"";","&G3;"")&ЕСЛИ(H3<>"";","&H3;"")&ЕСЛИ(I3<>"";","&I3;"")&ЕСЛИ(J3<>"";","&J3;"")&ЕСЛИ(K3<>"";","&K3;"")&ЕСЛИ(L3<>"";","&L3;"")&ЕСЛИ(M3<>"";","&M3;"")&ЕСЛИ(N3<>"";","&N3;"")&"=Последний текст"
К сообщению приложен файл: 6743306.xls (28.0 Kb)


Сообщение отредактировал DrMini - Пятница, 08.12.2023, 14:17
 
Ответить
СообщениеЗдравствуйте SkyGreen,
Как при помощи формулы сделать так, чтобы при удалении слов из ячеек - лишние запятые не отображались?

Вариант bigor, на порядок лучше и проще но если заморочиться и Excel старенький то можно так:
Код
="Первый текст="&D3&ЕСЛИ(E3<>"";","&E3;"")&ЕСЛИ(F3<>"";","&F3;"")&ЕСЛИ(G3<>"";","&G3;"")&ЕСЛИ(H3<>"";","&H3;"")&ЕСЛИ(I3<>"";","&I3;"")&ЕСЛИ(J3<>"";","&J3;"")&ЕСЛИ(K3<>"";","&K3;"")&ЕСЛИ(L3<>"";","&L3;"")&ЕСЛИ(M3<>"";","&M3;"")&ЕСЛИ(N3<>"";","&N3;"")&"=Последний текст"

Автор - DrMini
Дата добавления - 08.12.2023 в 14:12
bigor Дата: Пятница, 08.12.2023, 14:24 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1105
Репутация: 210 ±
Замечаний: 0% ±

нет
Можно еще несколько раз завернуть в подставить(), но это будет длинно и неинтересно
 
Ответить
СообщениеМожно еще несколько раз завернуть в подставить(), но это будет длинно и неинтересно

Автор - bigor
Дата добавления - 08.12.2023 в 14:24
Gustav Дата: Пятница, 08.12.2023, 15:34 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2748
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
но это будет длинно и неинтересно

Почему? Зато прекрасно масштабируется добавлением в нужном количестве однотипных "уровней" слева и справа:
Код
=ПОДСТАВИТЬ( ПОДСТАВИТЬ( ПОДСТАВИТЬ( D30; ",,";","); ",,";","); ",,";",")

Повторить аналогичное "многоуровневое" действие в версиях Excel 365/2021++ можно, просто задавая нужное количество уровней (в формуле ниже их аж 10 вместо трёх):
Код
=REDUCE(D30; ПОСЛЕД(10); LAMBDA(tot;val;ПОДСТАВИТЬ(tot;",,";",")))

если офис поддерживает объединить()

Да, если поддерживает, то это самый экономичный вариант:
Код
=ОБЪЕДИНИТЬ(",";1;ТЕКСТРАЗД(D30;","))

Ну, и для всех случаев, как я понял, надо еще в самом конце заменить пару символов ",=" на просто "=". Но это уже совсем простая операция подстановки.

[p.s.]Кстати, возможно, это не столь очевидно, но три последовательно примененные (вложенные) функции ПОДСТАВИТЬ превращают 8 подряд идущих запятых в одну![/p.s.]8 - это 2 в степени 3 (т.е. в количестве этих ПОДСТАВИТЬ). Поэтому три вложенные функции ПОДСТАВИТЬ в формуле - это, думаю, более, чем достаточно для большинства практических случаев. Даже думать не хочу о том, сколько запятых превращает в одну версия формулы с 10-ю применениями (ПОСЛЕД(10)) функции ПОДСТАВИТЬ (ответ: 2^10 = 1024 :) )


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Пятница, 08.12.2023, 16:29
 
Ответить
Сообщение
но это будет длинно и неинтересно

Почему? Зато прекрасно масштабируется добавлением в нужном количестве однотипных "уровней" слева и справа:
Код
=ПОДСТАВИТЬ( ПОДСТАВИТЬ( ПОДСТАВИТЬ( D30; ",,";","); ",,";","); ",,";",")

Повторить аналогичное "многоуровневое" действие в версиях Excel 365/2021++ можно, просто задавая нужное количество уровней (в формуле ниже их аж 10 вместо трёх):
Код
=REDUCE(D30; ПОСЛЕД(10); LAMBDA(tot;val;ПОДСТАВИТЬ(tot;",,";",")))

если офис поддерживает объединить()

Да, если поддерживает, то это самый экономичный вариант:
Код
=ОБЪЕДИНИТЬ(",";1;ТЕКСТРАЗД(D30;","))

Ну, и для всех случаев, как я понял, надо еще в самом конце заменить пару символов ",=" на просто "=". Но это уже совсем простая операция подстановки.

[p.s.]Кстати, возможно, это не столь очевидно, но три последовательно примененные (вложенные) функции ПОДСТАВИТЬ превращают 8 подряд идущих запятых в одну![/p.s.]8 - это 2 в степени 3 (т.е. в количестве этих ПОДСТАВИТЬ). Поэтому три вложенные функции ПОДСТАВИТЬ в формуле - это, думаю, более, чем достаточно для большинства практических случаев. Даже думать не хочу о том, сколько запятых превращает в одну версия формулы с 10-ю применениями (ПОСЛЕД(10)) функции ПОДСТАВИТЬ (ответ: 2^10 = 1024 :) )

Автор - Gustav
Дата добавления - 08.12.2023 в 15:34
SkyGreen Дата: Пятница, 08.12.2023, 17:38 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 83
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Всем спасибо за ответы
 
Ответить
СообщениеВсем спасибо за ответы

Автор - SkyGreen
Дата добавления - 08.12.2023 в 17:38
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как удалить лишние запятые в формуле объединения (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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