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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2013, 13:10   #11
Vikking
Пользователь
 
Регистрация: 21.01.2011
Сообщений: 17
По умолчанию

Вот файлы:
1 Пример - то что я сделал для того, чтоб выяснить метод
2 Объединение содержимого ячеек в одну при нескольких условиях - то что мне предложили на кибер-форуме с персональной функцией
3 Реальность - то под что нужно подогнать ПФ
Поясняю по файлу "Реальность"
- выполненная работа из столбика "Е" помечается каким-нибудь символом (мне удобно было поставить символ "Ч") - это первый критерий выбора он в ячейке "J1".
- интревал работы в столбике "G" в этом критерии 3 варианта интервала: 12, 168 и 720 в ячейках "L1", "M1", "N1"
- из 64 видов оборудования я в этом файле оставил только два (желтый диапазон и синий диапазон) для примера того какие работы выполнены или не выполнены.

Что должен я получить:
-для оборудования (например первого желтым цветом) в ячейке L3 с помощью персональной функции (уж больно хорошо с ней получается) должны через запятую перечисляться номера пунктов из столбика "D" с отмеченными (выполненными) работами, которые делаются по критерию из столбика "G" каждые 12 часов
- не отмеченные (не выполненные) работы аналогично в ячейке L4
- работы по критериям 168 и далее 720 соответсвенно "M", "N"

Аналогично для второго оборудования - синий цвет, на строчках "21" и "22"
Остальные виды оборудования а всего 64 постараюсь сделать сам по аналогии.
Вложения
Тип файла: rar Пример.rar (3.8 Кб, 11 просмотров)
Тип файла: rar Объединение содержимого ячеек в одну при нескольких условиях.rar (8.4 Кб, 14 просмотров)
Тип файла: rar Реальность.rar (15.9 Кб, 13 просмотров)
Vikking вне форума Ответить с цитированием
Старый 15.03.2013, 13:47   #12
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Я бы так чуть ускорил (хотя объёмы маленькие, не критично):

Код:
Function test(Диапазон As Range, Условие1 As Range, Условие2 As Range)
    Dim mass, i As Long, outString As String
    Dim u1: u1 = Условие1.Value
    Dim u2: u2 = Условие2.Value
    mass = Диапазон.Value
    For i = 1 To UBound(mass, 1)
        If mass(i, 1) = u1 Then
            If mass(i, 5) = u2 Then
                    outString = outString & ", " & mass(i, 2)
            End If
        End If
    Next

    test = Mid(outString, 3)
End Function
Ну и циферки по задаче изменил - для универсальности можно бы ещё и этих 3 параметра в код добавить.
Тогда в L3 пишем
=test($C$2:$G$20,$J$1,L$1)
в L4
=test($C$2:$G$20,$I$1,L$1)
тянем вправо.
Ниже параметры меняются.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объединение содержимого ячеек столбца в одно значение)) Rust_12 Microsoft Office Excel 5 21.03.2012 00:27
Среднее значение по нескольким условиям Ppaa Microsoft Office Excel 6 30.04.2011 01:46
Счетесли по нескольким условиям Neo007 Microsoft Office Excel 4 23.09.2008 16:23
СУММЕСЛИ по нескольким условиям 2 Levchik Microsoft Office Excel 8 27.05.2008 09:15
СУММЕСЛИ по нескольким условиям Gadar Microsoft Office Excel 6 26.05.2008 10:07