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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2018, 13:30   #1
kwns
 
Регистрация: 13.05.2010
Сообщений: 7
По умолчанию Группировка значений по критерию и их объединение и запись в строку

Доброго времени суток!
Очень нуждаюсь в Вашей помощи!
Суть проблемы которую я уже более недели решить пытаюсь но ни как не получается, состоит в следующем:
у меня есть две таблицы (расположены на одном листе в одних строках). В левой таблице находится перечень оборудования в зависимости от подразделения для каждой нормы.
Задача состоит в том, чтобы для каждой нормы в первую строку второй таблицы (расположенной рядом), вывести через "/" список оборудования, находящегося в подразделении. Максимальное значение оборудования для каждого № нормы -12.
Этот перечень оборудования мне надо привязывать динамически к численным значениям норм в другом файле для каждого подразделения.
Прилагаю файл примера
Вложения
Тип файла: xlsx Поиск и группировка данных по строкам.xlsx (10.8 Кб, 10 просмотров)
kwns вне форума Ответить с цитированием
Старый 28.06.2018, 23:37   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
'
' searchRange - где ищем. 3 столбца
' nr - Номер нормы. Крайний левый столбец
' dep - подразделение. Крайний правый столбец.
' USAGE: [G3] =GetMachines($A$2:$C$28;A5;G2)
'
Function GetMachines(searchRange As Range, nr As String, dep As String)
    Dim r As Integer
    Dim result As String
    If searchRange.Columns.Count <> 3 Then
        MsgBox "Ошибка диапазона поиска. 3 столбца допустимо"
        GetMachines = "Error"
        Exit Function
    End If
    result = ""
    For r = 1 To searchRange.Rows.Count
        If searchRange(r, 1) = nr And searchRange(r, 3) = dep Then
            result = result & searchRange(r, 2) & "/"
        End If
    Next r
    result = Left(result, Len(result) - 1)
    GetMachines = result
End Function
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Группировка значений 123456678 Microsoft Office Excel 13 06.01.2015 02:27
Выборка значений по критерию Proton-x Microsoft Office Excel 3 16.11.2012 12:11
Формула выборки уникальных значений по критерию strannick Microsoft Office Excel 11 23.05.2012 23:00
выбор значений по критерию Volodymyr Microsoft Office Access 3 30.08.2011 12:29