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

Вход

Регистрация

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

 

= Мир MS Excel/Подсчет значений по нескольким критериям - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Подсчет значений по нескольким критериям (Формулы/Formulas)
Подсчет значений по нескольким критериям
Chingis Дата: Понедельник, 09.04.2018, 16:33 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте!

Комментарии в файле для столбца, выделенного красным на вкладке "сводная".

Буду благодарен за скорую помощь.
К сообщению приложен файл: __DT_v3.xlsx (23.9 Kb)
 
Ответить
СообщениеЗдравствуйте!

Комментарии в файле для столбца, выделенного красным на вкладке "сводная".

Буду благодарен за скорую помощь.

Автор - Chingis
Дата добавления - 09.04.2018 в 16:33
InExSu Дата: Среда, 11.04.2018, 01:56 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация: 96 ±
Замечаний: 0% ±

Excel 2010, 365
Привет!
Не понятно, что у Вас там понимать. >(
"выполнены 9 недостатков ...", "станция 950133 считается"
Вот Вы знаете, что такое "разгонять эригреки"?


Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
 
Ответить
СообщениеПривет!
Не понятно, что у Вас там понимать. >(
"выполнены 9 недостатков ...", "станция 950133 считается"
Вот Вы знаете, что такое "разгонять эригреки"?

Автор - InExSu
Дата добавления - 11.04.2018 в 01:56
Chingis Дата: Среда, 11.04.2018, 14:15 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Постараюсь более понятно.

Нужно, чтобы в колонке F на закладке "Сводная", считалось количество станций, на которых выполнены ВСЕ рекомендации.

Например, в кластере cl 1 всего 4 станции (см. закладку Status). В колонке F на закладке "Сводная" должно выходить значение 1, так как для станции 950312 стоит критерий по выполнению рекомендций - "Выполнено" (ячейка Е157) и это единственная рекомендация по этой станции. Если например в колонке выполнения рекомендаций добавим значение "Выполнено" в ячейку Е73 для станции 950133, то в колонке F на закладке "Сводная" также должно остаться значение 1, так как выполнены не все рекомендации для станции 950133, будут не выполнены рекомендации Е74 и Е75 для этой станции. Если же в колонке выполнения рекомендаций добавим значение "Выполнено" в ячейках Е73, Е74 и Е75 для станции 950133, то в колонке F на закладке "Сводная" также должно появиться значение 2, так как будут выполнены все рекомендации для станции 950133.
 
Ответить
СообщениеПостараюсь более понятно.

Нужно, чтобы в колонке F на закладке "Сводная", считалось количество станций, на которых выполнены ВСЕ рекомендации.

Например, в кластере cl 1 всего 4 станции (см. закладку Status). В колонке F на закладке "Сводная" должно выходить значение 1, так как для станции 950312 стоит критерий по выполнению рекомендций - "Выполнено" (ячейка Е157) и это единственная рекомендация по этой станции. Если например в колонке выполнения рекомендаций добавим значение "Выполнено" в ячейку Е73 для станции 950133, то в колонке F на закладке "Сводная" также должно остаться значение 1, так как выполнены не все рекомендации для станции 950133, будут не выполнены рекомендации Е74 и Е75 для этой станции. Если же в колонке выполнения рекомендаций добавим значение "Выполнено" в ячейках Е73, Е74 и Е75 для станции 950133, то в колонке F на закладке "Сводная" также должно появиться значение 2, так как будут выполнены все рекомендации для станции 950133.

Автор - Chingis
Дата добавления - 11.04.2018 в 14:15
Manyasha Дата: Среда, 11.04.2018, 19:58 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
Chingis, формулы не придумалось, попробуйте udf:
[vba]
Код
Function stat_protected(curr_stat, station, claster, check_rec)
    Dim cl, dic As Object, temp, i, cnt
    Set dic = CreateObject("scripting.dictionary")
    For Each cl In claster
        i = i + 1
        If cl.Value = curr_stat.Value Then
            
            If Not dic.exists(Trim(station(i))) Then
                dic(Trim(station(i))) = Array(1, IIf(check_rec(i) <> "", 1, 0))
            Else
                temp = dic(Trim(station(i)))
                temp(0) = temp(0) + 1
                temp(1) = temp(1) + IIf(check_rec(i) <> "", 1, 0)
                dic(Trim(station(i))) = temp
            End If
        End If
    Next cl
    
    For Each k In dic.keys
        If dic(k)(0) = dic(k)(1) Then cnt = cnt + 1
    Next k
    stat_protected = cnt
End Function
[/vba]

проверок на входные аргументы не писала.
К сообщению приложен файл: _DT_v3.xlsm (31.2 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеChingis, формулы не придумалось, попробуйте udf:
[vba]
Код
Function stat_protected(curr_stat, station, claster, check_rec)
    Dim cl, dic As Object, temp, i, cnt
    Set dic = CreateObject("scripting.dictionary")
    For Each cl In claster
        i = i + 1
        If cl.Value = curr_stat.Value Then
            
            If Not dic.exists(Trim(station(i))) Then
                dic(Trim(station(i))) = Array(1, IIf(check_rec(i) <> "", 1, 0))
            Else
                temp = dic(Trim(station(i)))
                temp(0) = temp(0) + 1
                temp(1) = temp(1) + IIf(check_rec(i) <> "", 1, 0)
                dic(Trim(station(i))) = temp
            End If
        End If
    Next cl
    
    For Each k In dic.keys
        If dic(k)(0) = dic(k)(1) Then cnt = cnt + 1
    Next k
    stat_protected = cnt
End Function
[/vba]

проверок на входные аргументы не писала.

Автор - Manyasha
Дата добавления - 11.04.2018 в 19:58
Chingis Дата: Четверг, 12.04.2018, 12:37 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо, Manyasha!

интересно было бы решение с помощью встроенных функий/формул, но такой ответ ПОЛНОСТЬЮ устраивает!
 
Ответить
СообщениеСпасибо, Manyasha!

интересно было бы решение с помощью встроенных функий/формул, но такой ответ ПОЛНОСТЬЮ устраивает!

Автор - Chingis
Дата добавления - 12.04.2018 в 12:37
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Подсчет значений по нескольким критериям (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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