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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2016, 14:42   #41
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

и такой еще нюанс:
допустим есть 7 лучших, 4 явных а 5,6 и 7 имеют одинаковый балл тогда формула отнесет 5,6 и 7 к лучшим,
средних (если они будут) формула нарисует 3 шт.

Вам самостоятельно нужно будет решить кого одного из 5,6,7 отнести к лучшим, а каких двух, из перечисленных, - к средним

так как в условиях задачи ничего не было сказано, как распределить категории в таком случае(((
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 07.07.2016, 14:52   #42
pros100
Пользователь
 
Регистрация: 05.07.2016
Сообщений: 23
По умолчанию

Спасибо, из общего списка сотрудников еще пока ни разу не нашлось 2х сотрудников с одинаковым кол-вом баллов. Сейчас попробую подставить данную формулу в свой файл. Надеюсь все получится.
pros100 вне форума Ответить с цитированием
Старый 08.07.2016, 12:18   #43
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

существенно упростил формулу
вместо 6 ЕСЛИ теперь только 2 и длина на четверть меньше, чем у первоначальной
Код:
=ЕСЛИ(ИЛИ(RC[-4]<R3C3;RC[-3]<R3C4);R2C2;ЕСЛИ(И(R7C3:R21C3>=R4C3;R7C4:R21C4>=R4C4);ИНДЕКС(R2C2:R4C2;ПОИСКПОЗ(СУММПРОИЗВ((R7C3:R21C3>=R4C3)*(R7C4:R21C4>=R4C4)*(R7C6:R21C6>=RC[-1]));R2C6:R4C6;-1));ИНДЕКС(R2C2:R4C2;ПОИСКПОЗ(МАКС(R4C6;СУММПРОИЗВ((R7C3:R21C3>=R4C3)*(R7C4:R21C4>=R4C4)))+СУММПРОИЗВ((R7C3:R21C3>=R3C3)*(R7C4:R21C4>=R3C4)*((R7C3:R21C3<R4C3)+(R7C4:R21C4<R4C4)>0)*(R7C6:R21C6>=RC[-1]));R2C6:R4C6;-1))))
см. лист Вар2
Вложения
Тип файла: xlsx Классификатор.xlsx (15.1 Кб, 7 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 08.07.2016, 14:36   #44
pros100
Пользователь
 
Регистрация: 05.07.2016
Сообщений: 23
По умолчанию

Спасибо большое! буду пробовать 2й вариант, т.к. с первым вариантом проблема. никак немогу подставить в свой файл формулу.
pros100 вне форума Ответить с цитированием
Старый 08.07.2016, 15:03   #45
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а вообще, если это реальная задача... то выбранный способ оценки работников, мягко говоря, странный

абсолютно очевидно, что лучшие работники - это люди с максимальным значением продаж

я бы:
1. определил места каждого работника по каждой из 3-х категорий
2. назначил бы категориям весовые коэффициенты
3. определил бы место каждого работника согласно общей сумме мест по категориям с учетом весовых коэффициентов
4. тогда абсолютно очевидно 5 первых - лучшие, след. 5 - средние, все остальные - низкие результаты

элементарная формула, а главное - очень логичный (на мой взгляд) подход к оценки результатов деятельности
понимаете, будь сотрудник в 10 раз трудолюбивее и усидчивее остальных, но если он не может обеспечить высокий уровень продаж - это плохой сотрудник

понимаете, сотрудник, который отработал 19 дней и сделал 100тыс.продаж, с вашим подходом попадет в категорию "низкие", а сотрудник отработавший 30 дней и сделавший 25тыс.продаж - в "лучшие"! этот метод оценки стимулирует сотрудников не интенсивнее продавать, а интенсивнее просиживать штаны на работе!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 08.07.2016, 15:11   #46
pros100
Пользователь
 
Регистрация: 05.07.2016
Сообщений: 23
По умолчанию

Задача реальная просто критэрии немного отличаяются, показывать настоящий файл просто немогу из-за конфиденциальности. Поэтому со стороны и выходит нелогичность задачи.
pros100 вне форума Ответить с цитированием
Старый 08.07.2016, 16:03   #47
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

мы вообще начинали из далека - от яблок, груш и вишен))
последняя формула разбита с помощью ЕСЛИ на 3 логичных части
Код:
=ЕСЛИ(ИЛИ(RC[-4]<R3C3;RC[-3]<R3C4);R2C2; - если ниже среднего это "низкий", расчет окончен
ЕСЛИ(И(R6C3:R20C3>=R4C3;R6C4:R20C4>=R4C4);  
  по критериям - это "лучший", осталось посчитать сколько "лучших" имеют более высокий балл
ИНДЕКС(R2C2:R4C2;ПОИСКПОЗ(СУММПРОИЗВ((R6C3:R20C3>=R4C3)*(R6C4:R20C4>=R4C4)*(R6C6:R20C6>=RC[-1]));R2C8:R4C8;-1));
  по критериям - это средний, 
ИНДЕКС(R2C2:R4C2;ПОИСКПОЗ(
  этот фрагмет выносит работника за рамки "лучших"
МАКС(R4C8;СУММПРОИЗВ((R6C3:R20C3>=R4C3)*(R6C4:R20C4>=R4C4)))
  тут выясняется сколько "средних" имеет балл выше текущего
+СУММПРОИЗВ((R6C3:R20C3>=R3C3)*(R6C4:R20C4>=R3C4)*((R6C3:R20C3<R4C3)+(R6C4:R20C4<R4C4)>0)*(R6C6:R20C6>=RC[-1]));R2C8:R4C8;-1))))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка на цикличность списка Armitage89 Общие вопросы по Java, Java SE, Kotlin 0 26.03.2015 12:56
цикличность kraker JavaScript, Ajax 10 06.12.2011 09:17
Потоки: цикличность выполнения [MoNAMur] Общие вопросы Delphi 3 11.11.2011 13:42
формулы arthur1989 Microsoft Office Excel 1 19.03.2010 16:21