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

Вход

Регистрация

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

 

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

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

Excel 2010
Добрый день!

Буду признателен за помощь в решении.

Изначально, есть необходимость просуммировать расходы по персоналу.
Есть ЗП сотрудников и Процент загрузки.
Решается простым Sumproduct по двум спискам.

Появилось дополнительное условие - в столбце Процент загрузки визуальным способом (например, заливка ячейки, цвет шрифта) отдельно выделять некоторых сотрудников . Итоговых суммы расходов, соответственно, рассчитать надо две. Общую и "отдельную".

Стал изучать встроенную функцию Cell в надежде найти некий критерий, по которому можно различать ячейки, подходящего не нашел.
Погуглив, предположил, что выход лишь в написании функции которая различает ячейки.
Например, возвращает 1, если цвет черный и 0, если цвет любой другой.

Если ход размышлений верный, буду признателен за подсказку:
1) кода функции.
2) примера, как вставить данную функцию в SUMPRODUCT.
Прикрепил файл на случай, если коряво объяснил.

Если мыслю неверно, прошу направить в правильном направлении.

Спасибо!
К сообщению приложен файл: Salary_template.xlsx (10.4 Kb)
 
Ответить
СообщениеДобрый день!

Буду признателен за помощь в решении.

Изначально, есть необходимость просуммировать расходы по персоналу.
Есть ЗП сотрудников и Процент загрузки.
Решается простым Sumproduct по двум спискам.

Появилось дополнительное условие - в столбце Процент загрузки визуальным способом (например, заливка ячейки, цвет шрифта) отдельно выделять некоторых сотрудников . Итоговых суммы расходов, соответственно, рассчитать надо две. Общую и "отдельную".

Стал изучать встроенную функцию Cell в надежде найти некий критерий, по которому можно различать ячейки, подходящего не нашел.
Погуглив, предположил, что выход лишь в написании функции которая различает ячейки.
Например, возвращает 1, если цвет черный и 0, если цвет любой другой.

Если ход размышлений верный, буду признателен за подсказку:
1) кода функции.
2) примера, как вставить данную функцию в SUMPRODUCT.
Прикрепил файл на случай, если коряво объяснил.

Если мыслю неверно, прошу направить в правильном направлении.

Спасибо!

Автор - Bogdan2
Дата добавления - 02.08.2016 в 18:59
Nic70y Дата: Вторник, 02.08.2016, 20:08 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8761
Репутация: 2273 ±
Замечаний: 0% ±

Excel 2010
пользуемся поиском,
находим например эту тему,
слегка редактируем:
[vba]
Код
Function СУММ_ЦВЕТ(Диапазон_суммирования As Range, Цвет_берется_из_ячейки As Range)
For Each cll In Диапазон_суммирования.Cells
If cll.Font.ColorIndex = Цвет_берется_из_ячейки.Font.ColorIndex Then
    summa = summa + cll.Value * cll.Offset(0, -1)
End If
Next
СУММ_ЦВЕТ = summa
End Function
[/vba]
К сообщению приложен файл: Salary_template.xlsm (17.9 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Вторник, 02.08.2016, 20:09
 
Ответить
Сообщениепользуемся поиском,
находим например эту тему,
слегка редактируем:
[vba]
Код
Function СУММ_ЦВЕТ(Диапазон_суммирования As Range, Цвет_берется_из_ячейки As Range)
For Each cll In Диапазон_суммирования.Cells
If cll.Font.ColorIndex = Цвет_берется_из_ячейки.Font.ColorIndex Then
    summa = summa + cll.Value * cll.Offset(0, -1)
End If
Next
СУММ_ЦВЕТ = summa
End Function
[/vba]

Автор - Nic70y
Дата добавления - 02.08.2016 в 20:08
Bogdan2 Дата: Вторник, 02.08.2016, 20:41 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо большое! :)
Получается, достаточно функции.

В более развернутом варианте отчета есть еще столбцы - месяцы, в которых процентная загрузка меняется.
Тогда, код "cll.Offset(0, -1)" не подойдет, но можно же добавить offset как отдельный параметр, верно понимаю?
И, для каждого месяца, будет просто свой параметр при вызове СУММ_ЦВЕТ.
Сделаю завтра же. Еще раз спасибо!
 
Ответить
СообщениеСпасибо большое! :)
Получается, достаточно функции.

В более развернутом варианте отчета есть еще столбцы - месяцы, в которых процентная загрузка меняется.
Тогда, код "cll.Offset(0, -1)" не подойдет, но можно же добавить offset как отдельный параметр, верно понимаю?
И, для каждого месяца, будет просто свой параметр при вызове СУММ_ЦВЕТ.
Сделаю завтра же. Еще раз спасибо!

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

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