Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 27.03.2017
Сообщений: 15
1

Грамотно сделать одну функцию из трех

27.03.2017, 22:44. Показов 4891. Ответов 27
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! В экселе не силен, прошу помощи.
Требуется рассчитать заработную плату каждого сотрудника в процентном соотношении от суммы кассы: если в кассе от 0 до 500 тыс, до зп 10% от фактической суммы в кассе; от 500 001 до 600 000 то 12%; от 600 001 до 2 500 000 то 15%. Получились следующие формулы (на примере Дениса) в файле выделил красным:
Код
=СУММПРОИЗВ(($G$2:$G$1000="Денис")*(($S$4<500000)*10%)*$J$2:$J$1000)
=СУММПРОИЗВ(($G$2:$G$1000="Денис")*(($S4>500001)*($S4<600000)*12%)*$J$2:$J$1000)
=СУММПРОИЗВ(($G$2:$G$1000="Денис")*(($S4>600001)*($S4<3000000)*15%)*$J$2:$J$1000)
поодиночке все работает, но когда слепил вот такого крокодила:
Код
=СУММПРОИЗВ(((((($G$2:$G$1000="$S$1")*(($S$4>0)*($S$4<500000)*10%)*$J$2:$J$1000)+(($S$4>500001)*($S$4<600000)*12%)*$J$2:$J$1000)+(($S$4>600001)*($S$4<3000000)*15%)*$J$2:$J$1000)))
все стало криво считать
Бьюсь головой второй день((( заранее спасибо всем неравнодушным

PS. нужно учесть, что в дальнейшем все это залью в гугл таблицы
Вложения
Тип файла: xlsx Книга1.xlsx (20.4 Кб, 7 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2017, 22:44
Ответы с готовыми решениями:

Нужно из трех задач сделать одну
На картинке условия заданий вот 1: unit modul; interface const nmax=100; var n:byte;...

Дописать код, сделать из трех подпрограмм одну
Написала код, сделала вычетание матриц в виде подпрограммы, но нужно все эти 3 подпрограммы сложить...

Сделать из трех таблиц одну большую (нетривиальная задача)
Есть три таблицы Таблица 1. Города Город Транслит Москва Mowscow Тула Tula Калуга Kaluga ...

C++ (ооп) как из трех файлов (2 cpp и h) сделать одну программу? code blocks
C++ (ооп) как из трех файлов (2 cpp и h) сделать одну программу? code blocks

27
2900 / 1716 / 703
Регистрация: 04.09.2015
Сообщений: 3,433
29.03.2017, 18:45 21
Author24 — интернет-сервис помощи студентам
Посмотрите вариант решения. Столбец М можно не использовать.
В R1 и R2 выпадающие списки выбора определенного месяца или всего года и имени.
Меняя значения в выпадающих списках можно "фильтровать" без фильтра
Вложения
Тип файла: xlsx Книга1 (2).xlsx (36.7 Кб, 2 просмотров)
1
0 / 0 / 0
Регистрация: 27.03.2017
Сообщений: 15
29.03.2017, 19:21  [ТС] 22
Списки выглядят очень круто! Четко, лаконично
Проблема в том, что зп будет считаться каждые две недели, которые не совпадают с календарными и иногда могут смещаться. Т.е. фиксированные сроки тут не подходят, именно поэтому искал решение, которое позволило бы ставить фильтр на определенные сроки, или например несколько дней мая и несколько дней августа
0
2900 / 1716 / 703
Регистрация: 04.09.2015
Сообщений: 3,433
29.03.2017, 19:54 23
Лучший ответ Сообщение было отмечено Nikita53 как решение

Решение

А если так?
Вложения
Тип файла: xlsx Книга1 (3).xlsx (45.7 Кб, 2 просмотров)
1
0 / 0 / 0
Регистрация: 27.03.2017
Сообщений: 15
29.03.2017, 20:47  [ТС] 24
Ну что сказать, я впечатлен!)) То что нужно!! все считает и работает, как часы, мегаудобно! ОГРОМНЕЙШЕЕ вам спасибо!! столько времени мне сэкономили!!
как эту конструкцию в гуглтаблицы перетащить? простым копированием вряд ли получится

Добавлено через 9 минут
я имею в виду выпадающие списки. формулы по одной скопирую, не проблема

Добавлено через 7 минут
формула зп не тащится, пишет синтаксическая ошибка

Добавлено через 9 минут
столбец Z тоже выдает ошибку при копировании формулы в гугл в ячейке 2, а в Z3 пишет "Денис". Наверное знаки нужно как-то поменять. Как вчера поменяли с ":" на "" сразу все пошло. попробовал тут так же - не помогло
0
2900 / 1716 / 703
Регистрация: 04.09.2015
Сообщений: 3,433
29.03.2017, 21:22 25
Google не понимает формулу
Код
=МЕСЯЦ(1&$S$1)
которая по названию месяца возвращает его номер.
Формулу уникальных значений для имен тоже не понимает.
Посмотрю что можно сделать

Добавлено через 32 минуты
Смотри файл
Для выпадающего списка задал диапазон вручную где имена без ошибок
Формула уникальных имен другая.
Для перевода названий месяцев в их номер сделал столбец названий месяцев и функцией ПОИСКПОЗ() определяю номер
С УФ не разобрался, поэтому даты от и до всегда видны
1
0 / 0 / 0
Регистрация: 27.03.2017
Сообщений: 15
30.03.2017, 12:22  [ТС] 26
Добрый день! Все работает!
Как ячейках R1 и R2 поменять даты на более привычный формат дд.мм.гггг?
когда поменял, перестал считать по ним, стал считать значение по всей таблице

Добавлено через 14 минут
в том формате тоже не работает( опять считает по всей таблице
0
2900 / 1716 / 703
Регистрация: 04.09.2015
Сообщений: 3,433
30.03.2017, 12:30 27
Лучший ответ Сообщение было отмечено Nikita53 как решение

Решение

вы об Excel или Google?

Добавлено через 5 минут
в сообщении №25 ссылка на Google таблицы. Формат даты поменял.
1
0 / 0 / 0
Регистрация: 27.03.2017
Сообщений: 15
30.03.2017, 12:58  [ТС] 28
о гугл. но это уже не важно, т.к. все заработало!))

Добавлено через 4 минуты
Еще раз выражаю Вам огромную благодарность!!!
0
30.03.2017, 12:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2017, 12:58
Помогаю со студенческими работами здесь

Как сделать так чтобы в поле Наименование данные выбранные из остальных трех полей собирались в одну строку?
Привет! Есть такой вопрос: В справочнике Сотрудники в реквизитах есть четыре поля: Наименование;...

из нескольких процедур сделать одну функцию с запсуком с параметрами
Здрасте еще раз :) Делаю экспорт из базы в .xlsx формат. Чтобы экспорт прошел успешно необходим...

Файлы. сделал только одну функцию, остальные не могу сделать
Сделал, только одну функцию это подсчет символов и вывод статистики в файл2, но остальные функции...

Как изменить функцию GetSuit, нужно заменить If-ы массивами и сделать все в одну строчку кода
enum Suits { Wands, Coins, Cups, Swords } private static string GetSuit(Suits suit) {


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru