Суть в следующем: есть список данных (выгрузка из рабочей БД). По этому списку надо посчитать кто сколько продал и по хитровыдуманным критериям руководства высчитать премию. Основная загвоздка в том, чтобы посчитать эти самые продажи по дням. Считается так: если сотрудник продал один товар, например телевизор, то ему начисляется, допустим, 0,5% от суммы чека, а если с каким-нибудь аксессуаром, то, допустим, 2% от суммы чека. При этом в зависимости от того к какому отделу относится товар, платится дополнительный процент. Если есть способ как-то скриптом выставлять фильтры в сводной таблице, а потом выдирать оттуда нужные данные, вообще шикарно, если нет, подскажите хоть алгоритм и примерный код напишите, пожалуйста. В моем понимании, надо из исходных данных сначала сформировать список чеков конкретного сотрудника на конкретную дату, а потом проходясь по списку смотреть что там было продано. Может я не прав. Файлик пример, если можно, я другим способом приложу, не получается у меня его до 100Кб уменьшить.
2.3. Приложите файл(ы) с примером (общим весом не более 100 Кб) в реальной структуре и форматах данных того, что есть сейчас и того, что хотелось бы на выходе.
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
Основная техника и аксессуары находятся в одной товарной группе? если да, то их нужно разделить что б не анализировать по названию (Эксель не настолько умный)
Дмитрий Тарковский, В разных. Есть отдельный список товарных групп, к которым относятся аксессуары. Если файлик скачал, там на вкладке "Продажи аксессуаров" в столбце "ID аксессуаров" часть этого списка.
vikttur, Ну я, вроде, подробно описал в чем задача. Если более компактно, то необходимо реализовать подсчет продаж продавцов с учетом того, какие товары проданы по чеку. Пока руководству не важно было продан товар с аксессуарами или "голый", все было нормально. Теперь надо учитывать этот момент. Как это сделать я не знаю, мозгов не хватает уже.
Дмитрий Тарковский, На вкладке "Исходные данные" столбец "sales document number + outlet id" - это номер чека, соответственно они могут повторяться. Столбец "article number" - артикул товара. "department Id" - ID отдела. На вкладке "Общие сведения" в таблице отделы обозначены как группы: КБТ, МБТ и т.д. На вкладке "Доп. таблицы" списки отделов (id). "product group Id" - товарная группа, по которой определяется аксессуар это или нет. "date" - собственно дата "sales person number" - id продавца Предпоследний столбец это стоимость по чеку, на последний можно не смотреть. На самом деле там критериев расчета еще больше, мне хотя бы этот рубеж пройти, а я потом допилю под остальные критерии.
vikttur, "Скрипт для подсчета продаж продавцов с учетом того, какие товары проданы по чеку" так пойдет?
BBKay, где в файле телевизоры? Вы прикалываетесь, мы по кодам должны знать что за товар? Верно ли я понимаю, что на листе "Продажи аксессуаров" все аксессуары перечислены?
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
BBKay написал: там на вкладке "Продажи аксессуаров" в столбце "ID аксессуаров" часть этого списка
Да, есть отдельный список товарных групп, к которым относятся аксессуары. Естественно все проверки будут по кодам. Проверка относится артикул к аксессуарам не главное, это самое простое. Можно тупо через Find и булеву переменную это выяснить. Может я не прав, но это самый простой вариант, который в голову входит.
BBKay, попробую ещё раз и всё. Чтобы помочь Вам конкретно по данной части:
Цитата
BBKay написал: если сотрудник продал один товар, например телевизор, то ему начисляется, допустим, 0,5% от суммы чека, а если с каким-нибудь аксессуаром, то, допустим, 2% от суммы чека
Где коды телевизоров? Какие коды относятся к аксессуарам?
Цитата
BBKay написал: При этом в зависимости от того к какому отделу относится товар, платится дополнительный процент.
Где список отдел + доп. %? Нет ответов на конкретные вопросы - нет помощи.
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
JayBhagavan, Не имеют значение коды телевизоров, потому что это может быть и не телевизор. Имеют значение товарные группы аксессуаров. Частичный список товарных групп представлен на вкладке "Продажи аксессуаров" в столбе "id аксессуаров". На вкладке "Исходные данные" столбец "product group Id" - это как раз товарная группа. Дополнительный процент тоже не имеет значение, его можно придумать. В любом случае я все буду допиливать, так как, как я уже говорил, критериев много. А реальных данных еще больше.
Дмитрий Тарковский, Немножко не догнал как сделано. Фильтрами что ли? В общем есть ошибка в расчетах. Конкретно по продавцу с номером 20010, у него есть чек с аксессуаром, соответственно другой расчет и другая сумма. Так то я, почти, дописал код, с горем пополам. Но если будут идеи с удовольствием приму, а если будут изящнее моих с удовольствием использую =).
Согласен, но основа - табличка слева, колонка премия - там правильно собрано. сокращенную табличку для наглядности сделал, потом она будет формироваться с основной таблицы (та что слева) простым суммированием колонки "премии". Сделал я так, потому что, Вы говорили еще будут критерии в зависимости от отдела и тд. надо сразу в первую таблицу их впихнуть, а потом формировать чисто по работникам сокращенную версию.
Дмитрий Тарковский, А можно вместо массивов, там где Not in, использовать именованные диапазоны или "умные таблицы"? Кстати, то что отдельно выводится таблица с аксессуарами это прям то что надо, только подсчет не совсем верный. Я писал что, если в чеке есть аксессуар, то начисляется повышенный процент. А в вашем случае получается, что даже если в чеке есть аксессуар, то на товар все равно начисляется обычный процент, а на аксессуар повышенный. В общем, огромная благодарность. Сейчас доделаю свой дурацкий способ, так как уже завтра сдавать, потом переделаю вашим методом.
Где я что неправильно понял? Объясните "на пальцах", может 2% и 2,5% с аксессуаром? список кодов аксессуаров может быть переменной и отделы можно прикрутить, только пока что мы на разных языках общаемся, напишите рядом с моей колонкой "премия" цифры которые должны быть и прикрепите к сообщению.