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

Вход

Регистрация

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

 

= Мир MS Excel/Необходимо собрать все значения через запятую повторяющегося - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Необходимо собрать все значения через запятую повторяющегося
Den_Den Дата: Воскресенье, 23.08.2015, 00:43 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток.
Помогите решить задачу. Как-то попадалось решение через пользовательскую функцию, но сейчас не могу найти.
Столбцы в оригинальной таблице расположены именно так. Артикул может повторятся столько раз, сколько у него адресов.
Необходимо собрать все значения адреса через запятую для каждого артикула , и то же самое с количеством.
Спасибо.
К сообщению приложен файл: 123456.xls (29.0 Kb)
 
Ответить
СообщениеДоброго времени суток.
Помогите решить задачу. Как-то попадалось решение через пользовательскую функцию, но сейчас не могу найти.
Столбцы в оригинальной таблице расположены именно так. Артикул может повторятся столько раз, сколько у него адресов.
Необходимо собрать все значения адреса через запятую для каждого артикула , и то же самое с количеством.
Спасибо.

Автор - Den_Den
Дата добавления - 23.08.2015 в 00:43
KSV Дата: Воскресенье, 23.08.2015, 04:19 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
Доброе утро!
Можно так: [vba]
Код
Function ВПР2(ByVal Art, Rng As Range, ByVal ColNum As Long) As String
      Dim i&, v()
      If TypeName(Art) = "Range" Then Art = Art.Value
      v = Rng.Value
      For i = 1 To UBound(v)
          If v(i, 1) = Art Then ВПР2 = ВПР2 & ", " & v(i, ColNum)
      Next
      If Len(ВПР2) Then ВПР2 = Mid$(ВПР2, 3)
End Function
[/vba]

UPD
Чтоб убить лишние пробелы в адресах, измените строчку: [vba]
Код
        If v(i, 1) = Art Then ВПР2 = ВПР2 & ", " & Trim$(v(i, ColNum))
[/vba]
К сообщению приложен файл: 3135856.xls (41.0 Kb)


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333


Сообщение отредактировал KSV - Воскресенье, 23.08.2015, 14:17
 
Ответить
СообщениеДоброе утро!
Можно так: [vba]
Код
Function ВПР2(ByVal Art, Rng As Range, ByVal ColNum As Long) As String
      Dim i&, v()
      If TypeName(Art) = "Range" Then Art = Art.Value
      v = Rng.Value
      For i = 1 To UBound(v)
          If v(i, 1) = Art Then ВПР2 = ВПР2 & ", " & v(i, ColNum)
      Next
      If Len(ВПР2) Then ВПР2 = Mid$(ВПР2, 3)
End Function
[/vba]

UPD
Чтоб убить лишние пробелы в адресах, измените строчку: [vba]
Код
        If v(i, 1) = Art Then ВПР2 = ВПР2 & ", " & Trim$(v(i, ColNum))
[/vba]

Автор - KSV
Дата добавления - 23.08.2015 в 04:19
Hugo Дата: Воскресенье, 23.08.2015, 11:31 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3859
Репутация: 819 ±
Замечаний: 0% ±

365
Что делать с лишними пробелами после адресов?
Что делать если адреса/значения будут повторяться?
Вообще для такого давно написана
Код
=VLOOKUPCOUPLE($S$3:$V$15;1;X3;2;",")

код есть где-то на форуме, если нужен, если недостаточно ВПР2 от KSV.
Но чтоб убить пробелы нужно дорабатывать код.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеЧто делать с лишними пробелами после адресов?
Что делать если адреса/значения будут повторяться?
Вообще для такого давно написана
Код
=VLOOKUPCOUPLE($S$3:$V$15;1;X3;2;",")

код есть где-то на форуме, если нужен, если недостаточно ВПР2 от KSV.
Но чтоб убить пробелы нужно дорабатывать код.

Автор - Hugo
Дата добавления - 23.08.2015 в 11:31
Den_Den Дата: Понедельник, 24.08.2015, 00:51 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброе утро!


Спасибо большое, все замечательно работает.
 
Ответить
Сообщение
Доброе утро!


Спасибо большое, все замечательно работает.

Автор - Den_Den
Дата добавления - 24.08.2015 в 00:51
wild_pig Дата: Понедельник, 24.08.2015, 18:58 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 518
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
[offtop] KSV, Trim Уберёт крайние пробелы, а WorksheetFunction.Trim все лишние.[/offtop]
 
Ответить
Сообщение[offtop] KSV, Trim Уберёт крайние пробелы, а WorksheetFunction.Trim все лишние.[/offtop]

Автор - wild_pig
Дата добавления - 24.08.2015 в 18:58
  • Страница 1 из 1
  • 1
Поиск:

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