Добрый день! Мучаюсь уже вторые сутки с одной задачей. Нужно просчитать суммарные затраты трудовых ресурсов, амортизации и электроэнергии в зависимости от выбранных процессов. Используются 3-уровневые взаимосвязанные выпадающие списки. Не знаю, как воткнуть сюда стандартный впр))). Кроме того, в выпадающих списках не могу избавиться от дублирования наименований. Прошу помощи!
Добрый день! Мучаюсь уже вторые сутки с одной задачей. Нужно просчитать суммарные затраты трудовых ресурсов, амортизации и электроэнергии в зависимости от выбранных процессов. Используются 3-уровневые взаимосвязанные выпадающие списки. Не знаю, как воткнуть сюда стандартный впр))). Кроме того, в выпадающих списках не могу избавиться от дублирования наименований. Прошу помощи!Мурад
Amfor, спасибо! Но...немножно недоделано. Ваша формула отбирает первое попавшееся значение, удовлетворяющее трем условиям. Однако если выбрать несколько процессов, то формула не показывает сумма затрат, допустим, по сотрудникам. Я попробовал в вашей формуле увеличить диапазон условий, но все равно она не складывает все затраты по зарплатам сотрудников, участвующих в выбранных процессах.
Amfor, спасибо! Но...немножно недоделано. Ваша формула отбирает первое попавшееся значение, удовлетворяющее трем условиям. Однако если выбрать несколько процессов, то формула не показывает сумма затрат, допустим, по сотрудникам. Я попробовал в вашей формуле увеличить диапазон условий, но все равно она не складывает все затраты по зарплатам сотрудников, участвующих в выбранных процессах.Мурад
использовал функцию БДСУММ(). но она складывает в моем примере все, а мне нужно по сотрудникам и оборудованию отдельно. Boroda, спасибо за помощь! У меня по вашему способу не получается суммировать итоговые ячейки по сотрудникам и оборудованию отдельно, исходя из всех условий, всех выбранных процессов
использовал функцию БДСУММ(). но она складывает в моем примере все, а мне нужно по сотрудникам и оборудованию отдельно. Boroda, спасибо за помощь! У меня по вашему способу не получается суммировать итоговые ячейки по сотрудникам и оборудованию отдельно, исходя из всех условий, всех выбранных процессовМурад
, результат со значением "Истина" перемножается на диапазон значений в столбце F
Код
*Все_процессы!F$2:F$511)
Не понял этот момент. Начал экспериментировать. Заменил СУММПРОИЗВ на простой Сумм, заменил знак умножения на точку с запятой ,в итоге 0. В той же СУММПРОИЗВ заменил знак умножения на точку запятой, в итоге 0, хотя это не должно было повлиять на результат, поскольку СУММПРОИЗВ(a;b) = СУММПРОИЗВ(a*b) Как работает ваша формула, Boroda?
Boroda, спасибо огромное, все правильно суммирует, только вот я не разобрался в самой формуле.
, результат со значением "Истина" перемножается на диапазон значений в столбце F
Код
*Все_процессы!F$2:F$511)
Не понял этот момент. Начал экспериментировать. Заменил СУММПРОИЗВ на простой Сумм, заменил знак умножения на точку с запятой ,в итоге 0. В той же СУММПРОИЗВ заменил знак умножения на точку запятой, в итоге 0, хотя это не должно было повлиять на результат, поскольку СУММПРОИЗВ(a;b) = СУММПРОИЗВ(a*b) Как работает ваша формула, Boroda?Мурад
ИСТИНА и ЛОЖЬ при проведении над ними арифметических действий сами преобразуются в 1 и 0 соответственно. Поэтому мы в формуле фактически умножаем диапазон Все_процессы!F$2:F$511 на диапазон, состоящий из нулей и единиц (ноль - где не нашлось совпадение, 1 - где нашлось).
А вот это довольно спорное утверждение. Чему наглядный пример мы и наблюдаем. В нашем случае в формуле СУММПРОИЗВ(a;b) кусок а - это ТЕКСТ!, состоящий из слов! ИСТИНА и ЛОЖЬ. А вот если мы преобразуем текст в числа (умножим/разделим на 1; прибавим/вычтем 0; поставим перед ним два минуса; проведем иное арифметическое действие), то наш текст а станет числом а, и мы сможем безнаказанно засунуть его в первый аргумент СУММПРОИЗВ. Т.о., для нашего случая СУММПРОИЗВ(--a;b)=СУММПРОИЗВ(a*b)
ИСТИНА и ЛОЖЬ при проведении над ними арифметических действий сами преобразуются в 1 и 0 соответственно. Поэтому мы в формуле фактически умножаем диапазон Все_процессы!F$2:F$511 на диапазон, состоящий из нулей и единиц (ноль - где не нашлось совпадение, 1 - где нашлось).
А вот это довольно спорное утверждение. Чему наглядный пример мы и наблюдаем. В нашем случае в формуле СУММПРОИЗВ(a;b) кусок а - это ТЕКСТ!, состоящий из слов! ИСТИНА и ЛОЖЬ. А вот если мы преобразуем текст в числа (умножим/разделим на 1; прибавим/вычтем 0; поставим перед ним два минуса; проведем иное арифметическое действие), то наш текст а станет числом а, и мы сможем безнаказанно засунуть его в первый аргумент СУММПРОИЗВ. Т.о., для нашего случая СУММПРОИЗВ(--a;b)=СУММПРОИЗВ(a*b)_Boroda_
работаю с excel 12 лет, но об операторе "--" слышу впервые, не использовал его. учиться можно бесконечно. да и в справочнике excel о нем ни слова. спасибо за комментарии!
работаю с excel 12 лет, но об операторе "--" слышу впервые, не использовал его. учиться можно бесконечно. да и в справочнике excel о нем ни слова. спасибо за комментарии!Мурад
Boroda, может вы сможете помочь с громоздкими многоуровневыми списками из моего примера. Если создавать фильтр в шапке таблицы, то все просто: выбираем первый параметр сортировки, затем второй на основе условия первого и т.д. Теперь задача: можно ли эти фильтры перенести на другой лист, т.е. не создавать списки через диспетчер имен, а как бы перенести шапку таблицы с заголовками на другой лист, который будет осуществлять фильтрацию и отображать результат с данными из другого листа?
Boroda, может вы сможете помочь с громоздкими многоуровневыми списками из моего примера. Если создавать фильтр в шапке таблицы, то все просто: выбираем первый параметр сортировки, затем второй на основе условия первого и т.д. Теперь задача: можно ли эти фильтры перенести на другой лист, т.е. не создавать списки через диспетчер имен, а как бы перенести шапку таблицы с заголовками на другой лист, который будет осуществлять фильтрацию и отображать результат с данными из другого листа?Мурад
если говорить об именованных списках, то у нас таких имеется три: Категория_работ
Код
=Все_процессы!$A$2:$A$511
Процесс
Код
=Все_процессы!$B$2:$B$511
Уровень_сложности
Код
=Все_процессы!$D$2:$D$511
Как бы добиться такого, чтобы второй список Процесс учитывал значение в ячейке
Код
=Выборка!A4
и оставлял только те элементы, которые соответствуют данному условию. Аналогично со списком Уровень_сложности. Будем посмотреть, что получится))))
если говорить об именованных списках, то у нас таких имеется три: Категория_работ
Код
=Все_процессы!$A$2:$A$511
Процесс
Код
=Все_процессы!$B$2:$B$511
Уровень_сложности
Код
=Все_процессы!$D$2:$D$511
Как бы добиться такого, чтобы второй список Процесс учитывал значение в ячейке
Код
=Выборка!A4
и оставлял только те элементы, которые соответствуют данному условию. Аналогично со списком Уровень_сложности. Будем посмотреть, что получится))))Мурад
Для одной строчки (например, Выборка!A4:C4) - да ваще не вопрос, но проблема в том, что в Выборка!A5 у Вас же будет новое значение, отличное от А4. И для него в В5 тоже ножен свой список, отличный от списка в В4. Пока приходит на ум решение или с кучей доп. ячеек, или макросом. Хотя... Мысль появилась. Ща попробую.
Для одной строчки (например, Выборка!A4:C4) - да ваще не вопрос, но проблема в том, что в Выборка!A5 у Вас же будет новое значение, отличное от А4. И для него в В5 тоже ножен свой список, отличный от списка в В4. Пока приходит на ум решение или с кучей доп. ячеек, или макросом. Хотя... Мысль появилась. Ща попробую._Boroda_
А если попробовать создать два доп.листа: в одном удалив дубликаты процессов, а в другом - уровней сложности, а затем воспользоваться функцией СМЕЩ при создании именованных списков процессов и уровней сложности?
А если попробовать создать два доп.листа: в одном удалив дубликаты процессов, а в другом - уровней сложности, а затем воспользоваться функцией СМЕЩ при создании именованных списков процессов и уровней сложности?Мурад
Это я конечно не сам додумался а взял материал отсюда: Планета Excel Там есть Способ 2. Список соответствий и функции СМЕЩ (OFFSET) и ПОИСКПОЗ (MATCH)
Это я конечно не сам додумался а взял материал отсюда: Планета Excel Там есть Способ 2. Список соответствий и функции СМЕЩ (OFFSET) и ПОИСКПОЗ (MATCH)Мурад