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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2013, 13:32   #1
Olper
Пользователь
 
Регистрация: 21.06.2010
Сообщений: 87
По умолчанию Многомерный массив

Уважаемые форумчане и спецы Excel'а!
Помогите плиз стакой заковыркой.
Есть большая база данных (порядка 10-15 тыс. строк), в которой собираются все заявки нашей фирмы. Заявки принимают и выполняют наши сотрудники и после принятия и выполнения ставят в один из статусов.
По концу недели необходимо проверять и выдавать типа отчета, что Иванов столько то и столько, Петров столько и т.д.
Пример попытался показать в файле.
Я так понимаю, что имеем дело с многомерным динамическим массивом.
Подскажите в каком направлении рыть.
Спасибо за любую идею.
Вложения
Тип файла: rar Заявки.rar (8.2 Кб, 7 просмотров)
Olper вне форума Ответить с цитированием
Старый 27.11.2013, 13:38   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Смотрите сводные.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 27.11.2013, 13:57   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Если "Исполнитель" и "Статус" известны и уже в таблице, то подтянуть номера можно с помощью UDF.

в J5 пишем
Код:
=VLOOKUPCOUPLE_spec($A$2:$E$27,4,5,H5&"|"&I5,1,", ")
но т.к. там эти вредные объединения, то протянуть легко и просто не получится, для следующей ячейки формула
Код:
=VLOOKUPCOUPLE_spec($A$2:$E$27,4,5,H5&"|"&I6,1,", ")
Разделители в зависимости от системы.

Код UDF в модуль:

Код:
Function VLOOKUPCOUPLE_spec(Table As Variant, SearchColumnNum1 As Long, SearchColumnNum2 As Long, SearchValue As Variant, _
                            RezultColumnNum As Long, Separator_ As String)
'Table - таблица, где ищем
'SearchColumnNum1/2 - столбцы, где ищем
'SearchValue - данные, которые ищем, задавать с "|" посередине
'RezultColumnNum - колонка, откуда берём результат
'Separator_ - разделитель, желательно вводить с пробелом в конце

    Dim i As Long
    If TypeName(Table) = "Range" Then Table = Table.Value
    For i = 1 To UBound(Table)
        If Table(i, SearchColumnNum1) & "|" & Table(i, SearchColumnNum2) = SearchValue Then
            If VLOOKUPCOUPLE_spec <> "" Then
                VLOOKUPCOUPLE_spec = VLOOKUPCOUPLE_spec & Separator_ & Table(i, RezultColumnNum)
            Else
                VLOOKUPCOUPLE_spec = Table(i, RezultColumnNum)
            End If
        End If
    Next i
    If VLOOKUPCOUPLE_spec = 0 Then VLOOKUPCOUPLE_spec = ""
End Function
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 27.11.2013, 17:44   #4
Olper
Пользователь
 
Регистрация: 21.06.2010
Сообщений: 87
По умолчанию

Спасибо Hugo121, как всегда грамотен и оперативен.
В принципе так и думалось насчет "Сводных", вся заковыка была - как из столбца "А" перекинуть в одну ячейку номеров заявок для дальнейшей отправки их исполнителям. Бум думать в этом напрвлении. Хотя если у кого еще есть идеи, расмотрю и их.
Olper вне форума Ответить с цитированием
Старый 27.11.2013, 17:54   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Ну можно в сводную вытянуть "Исполнитель" и "Статус", а далее рядом номера с помощью моей UDF.
UDF проверил, работает.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многомерный массив $Optimus$ Помощь студентам 1 06.09.2013 20:39
многомерный массив fedkov2013 Паскаль, Turbo Pascal, PascalABC.NET 0 26.05.2013 11:47
многомерный массив. C# Serg94 Помощь студентам 8 13.12.2011 01:53
С++/С# многомерный массив DeFace Общие вопросы C/C++ 4 03.05.2009 16:07
Многомерный массив Iogan Gamba Puti Общие вопросы C/C++ 2 08.05.2008 15:20