Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.09.2016, 15:18   #1
dzaymko
Пользователь
 
Регистрация: 15.04.2012
Сообщений: 18
По умолчанию функции сцепить с условием

функции сцепить с условием
так есть а над так
1-а 1-а б
1-б 2-с и у
2-с 3-д
2-и
2-у
3-д
Вложения
Тип файла: xlsx пример.xlsx (8.1 Кб, 16 просмотров)
dzaymko вне форума Ответить с цитированием
Старый 08.09.2016, 15:29   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
Function myConcat(what As String, rng As Range)
    If rng.Columns.Count < 2 Then myConcat = "Error!"
    Dim i As Integer
    myConcat = ""
    For i = rng.Row To rng.Row + rng.Rows.Count - 1
        If rng(i, 1) = what Then myConcat = myConcat & " " & rng(i, 2)
    Next
End Function
Вложения
Тип файла: xls Копия пример.xls (31.0 Кб, 13 просмотров)
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 08.09.2016, 15:29   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub MakeNewTbl()
  Dim r1&, r2&, c%
  r1 = 1: r2 = 1
  Do While Not IsEmpty(Cells(r1, 1))
    c = WorksheetFunction.CountIf(Columns(1), Cells(r1, 1)):   Cells(r2, 4) = Cells(r1, 1)
    if c > 1 then Cells(r2, 5) = Join(WorksheetFunction.Transpose(Cells(r1, 2).Resize(c, 1))) else Cells(r2, 5) = Cells(r1, 2)
    r1 = r1 + c: r2 = r2 + 1
  Loop
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 08.09.2016, 16:05   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Для комплекта
Код:
=VLOOKUPCOUPLE($A$1:$B$10,1,E1,2," ")
код этой UDF есть на форуме (и других форумах).
И ещё есть аналогичная, но чуть более навороченная СЦЕПИТЬЕСЛИ()
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сцепить текстовые ячейки с условием Nord18 Microsoft Office Excel 8 30.11.2013 19:29
Нужна функция =сцепить(), только с условием Snekich Microsoft Office Excel 8 20.11.2011 18:18
Вывод даты в функции Сцепить ogololobov2009 Microsoft Office Excel 5 18.03.2011 13:10
Использование функции сцепить Anatoly_K Microsoft Office Excel 4 10.07.2010 15:59
Помогите сцепить ячейки с определенным условием 7erge Microsoft Office Excel 4 23.07.2008 09:47