- •Перекачка отстой фильтрация выдержка розлив к1 к2 к3 к4 к5
- •1. Рассчитаем помощь малооплачиваемым.
- •2. Остаток премии (если есть) делится уже между всеми работниками (включая и малооплачиваемых) пропорционально их зарплате
- •2. Уменьшение стоимости за счет естественного износа в течение срока амортизации. Ежегодно стоимость уменьшается на одинаковую часть (например станок на 1/30).
- •"Остаток:"???"дн"; [красный]"доплата"???"дн"; [синий]"съезд"
- •Условие 1
- •8Итого7232075
Условие 1
формула =ЕСЛИ(И($G$1>B6;$G$1<=C6);1) ,
при выполнении которого (текущее время находится между датой начала и датой конца дежурства) установим для данных шрифт полужирный курсив и отобразим их на желтом фоне. Для того, чтобы в любой текущий момент выявить работающих, нужно только нажать клавишу F9, обновляющую клетку, содержащую текущее время (сейчас дежурит Иван).
Пример 6.33. Расчет длительных временных интервалов.
Усложним предыдущую задачу. Положим, требуется вычислить число отработанных ночных часов для смен, продолжительностью до трех суток (до 72 часов). Отметим попутно, что, конечно, невозможен непрерывный труд в течение трех суток. Здесь имеются и длительные перерывы на сон, обед и т.п. Они могут учитываться или не учитываться при начислении зарплаты. Мы эти факторы игнорируем, поскольку не будем рассчитывать какую-либо зарплату. При продолжительности труда в 72 часа возможно участие работника в четырех ночных сменах. Расчет данных, относящихся к первой ночной смене, выполняется аналогично предыдущему.
D5=(C5–B5)*24,
E5=ЕСЛИ(И(B5>=ЦЕЛОЕ(B5)+E$2;B5<ЦЕЛОЕ(B5)+C$2);ЦЕЛОЕ(B5)+C$2;B5),
F5=ЕСЛИ(ОСТАТ(E5;1)<=E$2;0;1)+ЦЕЛОЕ(E5)+E$2,
G5=ЕСЛИ(C5<E5;0;МИН(C5;F5)–МАКС(B5;E5))*24.
|
|
A |
B |
C |
D |
E |
F |
G |
|
1 |
ГРАФИК ДЕЖУРСТВ |
||||||
|
2 |
НОЧЬ: |
конец |
8:00ч |
начало |
20:00ч |
|
|
|
3 |
Имя |
Д е ж у р |
c т в о |
Всего |
|
1 ночь |
|
|
4 |
начало |
конец |
часов |
начало |
конец |
час |
|
|
5 |
Петр |
1.9.98 08:00 |
1.9.98 12:00 |
4,0 |
1 20:00 |
2 08:00 |
|
|
6 |
Иван |
1.9.98 09:30 |
2.9.98 21:00 |
35,5 |
1 20:00 |
2 08:00 |
12,0 |
|
7 |
Олег |
2.9.98 08:10 |
3.9.98 03:00 |
18,8 |
2 20:00 |
3 08:00 |
7,0 |
|
8 |
Петр |
2.9.98 03:00 |
5.9.98 03:00 |
72,0 |
2 03:00 |
2 08:00 |
5,0 |
|
9 |
Олег |
3.9.98 12:00 |
4.9.98 00:00 |
12,0 |
3 20:00 |
4 08:00 |
4,0 |
|
10 |
ВСЕГО |
|
|
142,3 |
|
|
28,0 |
Рис. 6.33
|
|
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
2 ночь |
|
|
3 ночь |
|
|
4 ночь |
|
Всего |
|
4 |
начало |
конец |
час |
начало |
конец |
час |
начало |
конец |
час |
ночью |
|
5 |
2 20:00 |
3 08:00 |
|
3 20:00 |
4 08:00 |
|
4 20:00 |
5 08:00 |
|
|
|
6 |
2 20:00 |
3 08:00 |
1,0 |
3 20:00 |
4 08:00 |
|
4 20:00 |
5 08:00 |
|
13,0 |
|
7 |
3 20:00 |
4 08:00 |
|
4 20:00 |
5 08:00 |
|
5 20:00 |
6 08:00 |
|
7,0 |
|
8 |
2 20:00 |
3 08:00 |
12,0 |
3 20:00 |
4 08:00 |
12,0 |
4 20:00 |
5 08:00 |
7,0 |
36,0 |
|
9 |
4 20:00 |
5 08:00 |
|
5 20:00 |
6 08:00 |
|
6 20:00 |
7 08:00 |
|
4,0 |
|
*10 |
|
|
13,0 |
|
|
12,0 |
|
|
7,0 |
60,0 |
Рис. 6.33. Продолжение таблицы
Ночные части остальных трех смен вычисляются так
H5=ЦЕЛОЕ(F5)+C$2, I5=ЦЕЛОЕ(F5)+E$2+1,
J5=ЕСЛИ(C5<H5;0;МИН(C5;I5)–МАКС(B5;H5))*24,
K5=ЦЕЛОЕ(I5)+C$2, L5=ЦЕЛОЕ(I5)+E$2+1,
M5=ЕСЛИ(C5<K5;0;МИН(C5;L5)–МАКС(B5;K5))*24,
N5=ЦЕЛОЕ(L5)+C$2, O5=ЦЕЛОЕ(L5)+E$2+1,
P5=ЕСЛИ(C5<N5;0;МИН(C5;O5)–МАКС(B5;N5))*24.
Общее число часов, отработанных ночью, Q5=G5+J5+M5+P5.
Для придания таблице более обозримого вида в дальнейшем можно скрыть технические столбцы от Е до Р, оставив только важные данные.
Пример 6.34. Продажа квартир.
Положим, фирме, построившей небольшой жилой дом за 200 000$, требуется установить продажные цены на квартиры, исходя из их площади и потребительских качеств. Устанавливаются скидки на квартиры, находящиеся на первом и последнем (третьем) этаже, на большие квартиры (более 100 кв.м) и квартиры, выходящие на улицу. Все возможные скидки представлены во второй и третьей строках. Буквой “д” обозначены квартиры, выходящие во двор, а буквой “у” – на улицу.
Для вычисления цены квартиры введем два технических столбца. В столбце Оплата со скидкой определяется процент стоимости квартир относительно номинальной. Из 100% отнимаются все возможные скидки.
E6=100%–ЕСЛИ(C6=1;$C$3)–ЕСЛИ(C6=4;$C$3)
–ЕСЛИ(D6="у";$B$3)–ЕСЛИ(B6>100;$E$3).
|
|
A |
B |
C |
D |
E |
F |
G |
H |
|
1 |
Стоимость дома |
$200000 |
|
|
|
|
|
|
|
2 |
Вид скидки: |
окна на улицу |
1 этаж |
3 этаж |
более 100м |
|
|
|
|
3 |
% скидки: |
5% |
10% |
5% |
3% |
|
|
|
|
4 |
ПРОДАЖА КВАРТИР |
|||||||
|
5 |
Квартира |
Площадь |
Этаж |
Сторона |
Оплата со скидкой |
Эквивал. площадь |
Цена кварт. |
Цена 1 м |
|
6 |
1 |
70м |
1 |
у |
85% |
59,5м |
$ 34724 |
$496 |
|
7 |
2 |
160м |
2 |
д |
97% |
155,2м |
$ 90575 |
$566 |
|
8 |
3 |
60м |
2 |
д |
100% |
60,0м |
$ 35016 |
$584 |
|
9 |
4 |
80м |
3 |
у |
85% |
68,0м |
$ 39685 |
$496 |
|
10 |
ВСЕГО |
370м |
|
|
|
342,7м |
$200000 |
|
Рис. 6.34
В столбце Эквивалентная площадь вычисляется некоторая теоретическая площадь, соответствующая цене со скидкой, F6=B6*E6. Видим, что она равна 342м вместо 370. Отсюда можно определить цену одного квадратного метра с учетом скидок как частное от деления стоимости дома на эту площадь. Таким образом, продажная цена квартиры составит G6=$B$1/$F$10*F6, а стоимость одного квадратного метра в ней H6=G6/B6. Расчеты выполнены верно, поскольку суммарная стоимость всех квартир (G10) равна стоимости дома (B1).
Пример 6.35. Расчет квартплаты.
Рассчитать размеры ежемесячной оплаты квартиры ее владельцами в зависимости от площади, наличия и качества предоставляемых удобств.
Положим квартплата состоит из следующих элементов (см. область Тарифы на рисунке):
-
Оплата за пользование отдельным или спаренным телефоном (помечается буквами “о” или “с”).
-
Оплата за газоснабжение при наличии водонагревательной (помечается значком “+”) колонки и без нее. Рассчитывается на каждого проживающего в квартире человека и только в случае отсутствия электроплит. Считается, что при наличии электроплит, газ к дому не подведен.
-
Оплата за коммунальные услуги. Рассчитывается пропорционально площади квартиры. При наличии газовой колонки (помечается значком “+”) она снижается на 10% поскольку централизованное снабжение горячей водой тогда отсутствует (но возрастает сумма, выплат за газ).
Платежи определяются следующими формулами:
Коммунальные услуги
=<площадь квартиры>*<тариф “без колонки”>*
ЕСЛИ(колонка есть <тариф снижается>, иначе <остается>)
или для первой квартиры
G11=B11*$C$6*ЕСЛИ(E11="+";1+$C$7;1).
Оплата за газ
=ЕСЛИ (нет электроплиты, то 1, иначе 0)*<число человек>*
ЕСЛИ (колонка есть, то <тариф “с колонкой”>, иначе < “без колонки”>)
H11=ЕСЛИ(D11<>"+";1;0)*C11*ЕСЛИ(E11="+";$C$5;$C$4).
Оплата за телефон
=ЕСЛИ (телефон отдельный, то обычный тариф, иначе
ЕСЛИ (телефон спаренный, то сниженный тариф, иначе 0))
I11=ЕСЛИ(F11="о";$C$2;ЕСЛИ(F11="с";$C$3;0)).
Далее подсчитывается число владельцев электроплит, газовых колонок D11=СЧЁТЕСЛИ(D11:D15;"+"), E11=СЧЁТЕСЛИ(E11:E15;"+") и телефонов F11=СЧЁТЗ(F11:F15).
Последнее рассчитывается как число непустых ячеек в диапазоне.
Суммы находятся очевидным образом J11=СУММ(G11:I11), B16= СУММ(B11:B15), C16=СУММ(C11:C15) и т.п.
-
A
B
C
D
E
F
G
H
I
J
1
ТАРИФЫ:
2
Телефон
отдельный
20р
3
спаренный
15р
4
Газ
без колонки
3р/ч
5
с колонкой
4р/ч
6
Коммун.
услуги
без колонки
3р/м
7
с колонкой
–10%
8
РАСЧЕТ КВАРТПЛАТЫ
9
Квар-
тира
Площадь
Человек
Удобства
Оплата
10
Э/плита
Газ.колонка
Телефон
(спар/отд)
Коммун.
услуги
Газ
Телефон
Всего
11
1
100м
7
+
о
270р
28р
20р
318р
12
2
60м
3
+
с
180р
0р
15р
195р
13
3
70м
4
+
189р
16р
0р
205р
14
4
80м
3
о
240р
9р
20р
269р
15
5
90м
8
+
243р
32р
0р
275р
16
ВСЕГО
400м
25
1
3
3
1122р
85р
55р
1262р
Рис. 6.35
Пример 6.36. Матрица решений.
Иногда принятие решения при выполнении расчетов сопряжено с таким большим числом условий, которые сложно или даже невозможно разместить в клетке. В этом случае можно воспользоваться так называемой матрицей решений, где содержатся все возможные комбинации параметров, влияющих на результат. Положим, возможно выполнение ряда работ (у нас до пяти) в различной комбинации, за которые нужно заплатить определенную цену. Выполнение работы, например, помечается единицей, невыполнение – нулем. Для реализации возможности поиска в столбце Код формируется строка, содержащая все нули и единицы из клеток соответствующей строки матрицы решений,
G2=B2&C2&D2&E2&F2 или G2=СЦЕПИТЬ(B2;C2;D2;E2;F2).
Собственно данные находятся ниже – в списке заказов. Цена работы для первого заказа определяется функцией ВПР(), где в качестве искомой величины задается строка видов работ B7&C7&D7&E7&F7 в заказе, а поиск ведется в столбце Код матрицы решений
G7=ВПР(B7&C7&D7&E7&F7;G$2:H$4;2;0).
Для примера в заказе №3 указана также и недопустимая комбинация работ, повлекшая сообщение об ошибке (нет данных – #Н/Д). Это означает, что следует либо исправить ввод, либо увеличить таблицу решений, включив в нее такую комбинацию.
В таблице реализована матрица из пяти компонентов, однако ясно, что ничто не мешает нам с легкостью сделать ее как угодно большого размера.
|
|
A |
B |
C |
D |
E |
F |
G |
H |
|
1 |
Матрица решений |
Работа1 |
Работа2 |
Работа3 |
Работа4 |
Работа5 |
Код |
Цена |
|
2 |
0 |
1 |
1 |
1 |
0 |
01110 |
250 |
|
|
3 |
1 |
1 |
1 |
0 |
0 |
11100 |
1000 |
|
|
4 |
0 |
1 |
1 |
1 |
0 |
01310 |
2500 |
|
|
ОБРАБОТКА
ЗАКАЗОВ |
|
|
|
|
|
|
|
|
|
6 |
Заказ |
Работа1 |
Работа2 |
Работа3 |
Работа4 |
Работа5 |
Цена |
|
|
7 |
Заказ1 |
1 |
1 |
1 |
0 |
0 |
1000 |
|
|
8 |
Заказ2 |
0 |
1 |
1 |
1 |
0 |
250 |
|
|
9 |
Заказ3 |
1 |
0 |
1 |
0 |
0 |
#Н/Д |
|
Рис. 6.36
Пример 6.37. Торговля в кредит.
Определим дату и сумму, выплачиваемую покупателем за товар, в зависимости от срока последующей оплаты. Чем больше срок оплаты, тем больше эта сумма, поскольку, отпуская товар без предоплаты, продавец дает покупателю кредит. Положим стоимость кредита равна 1% от исходной цены за каждый день кредита. При торговых операциях сроки оплаты обычно указываются не в календарных, а в рабочих днях. Поскольку в общем случае рабочими могут быть и воскресные и субботние дни, использование функций РАБДЕНЬ() и ЧИСТРАБДНИ() оказывается неудобным или невозможным. В виду этого приходится создавать специальную таблицу, содержащую перечень таких дней. На рисунке она помещена в столбце А. Обслуживая клиента, оператор вводит номер, дату и сумму заказа, а также число рабочих дней (в данном случае банковских), через которое должна быть произведена оплата. Наша задача определить Дату платежа, отстоящую от Даты заказа на заданное число рабочих дней и сумму платежа (Сумму с кредитом), которые мы и сообщим покупателю. Для этого нужно найти Дату заказа в столбце А и прибавить к ней число Банковских дней. Функция ПОИСКПОЗ( D4;A:A;0)+F4 находит номер строки в столбце А, отстоящей от даты заказа на число рабочих дней (F4). Чтобы извлечь из этой строки ее содержимое, воспользуемся функцией
=ИНДЕКС(A:A;ПОИСКПОЗ(D4;A:A;0)+F4;1).
На этом можно было бы остановиться, но следует предусмотреть контроль наличия в столбце А даты оплаты. Например, при дате заказа 14 января и сроке оплаты через 23 рабочих дня, функция извлечет данные из строки, отстоящей от строки 9 на 23 позиции ниже, т.е. из 32-ой строки. Поскольку сейчас вся наша таблица заканчивается датой 15 января, ниже находятся только пустые строки. Чтобы избежать неверных результатов, усложним функцию извлечения, сформировав результат "нет даты", если найденное содержимое не больше нуля
G4=ЕСЛИ(ИНДЕКС(A:A;ПОИСКПОЗ(D4;A:A;0)+F4;1)>0;
ИНДЕКС(A:A;ПОИСКПОЗ(D4;A:A;0)+F4;1);"нет даты").
|
|
A |
B |
C |
D |
E |
F |
G |
H |
|
ТОРГОВЛЯ
В КРЕДИТ |
Рабочие дни |
|
|
|
|
|
|
|
|
2 |
04.01 |
|
Заказ |
Банковских дней |
Дата платежа |
Сумма с кредитом |
||
|
3 |
05.01 |
|
номер |
дата |
сумма |
|||
|
4 |
06.01 |
|
60 |
04.01 |
1000 |
7 |
13.01 |
1070 |
|
5 |
07.01 |
|
67 |
13.01 |
5000 |
2 |
15.01 |
5100 |
|
6 |
08.01 |
|
124 |
14.01 |
700 |
23 |
нет даты |
861 |
|
7 |
11.01 |
|
130 |
15.01 |
1000 |
0 |
15.01 |
1000 |
|
8 |
12.01 |
|
150 |
16.01 |
|
5 |
#Н/Д |
0 |
|
9 |
13.01 |
|
200 |
17.01 |
|
|
#Н/Д |
0 |
|
10 |
14.01 |
|
|
|
|
|
|
|
|
11 |
15.01 |
|
|
|
|
|
|
|
|
12 |
|
|
|
|
|
|
|
|
Рис. 6.37
При получении сообщения "нет даты", пользователь должен дополнить столбец рабочих дней.
И наконец, вычисляем сумму оплаты с учетом стоимости кредита
H4=E4*(1+F4*1%).
К оформлению. Здесь имеет смысл проконтролировать принадлежность и даты заказа к множеству рабочих дней. Если игнорировать этот факт, Exel выдаст сообщение об ошибке #Н/Д (например, клетки G8 и G9). Это можно сделать с помощью условного форматирования для элементов столбца D с условием следующего вида (для клетки D4)
формула =ЕНД(ПОИСКПОЗ(D4;$A:$A;0))
Далее мы можем установить, например, цветовую заливку таких клеток, что сразу привлечет внимание пользователя.
Отсутствие даты заказа в столбце дат может явиться следствием одной из двух причин:
1. В таблицу рабочих дней еще не включена новая дата и ее нужно внести.
2. Дата заказа не является банковским днем (например, фирма торгует и в выходные дни).
Если возможен второй случай, следует предусмотреть адекватную реакцию таблицы – не учитывать день продажи при определении суммы кредита, а начинать отсчет банковских дней, начиная с ближайшего следующего такого дня. В этом случае нужно использовать функцию ПОИСКПОЗ() с параметром, определяющим не точный, а интервальный поиск.
Пример 6.38. Трехмерные справочные таблицы.
Пусть, результат некоторого технологического процесса, например вес (в тоннах) выходного продукта, зависит от температуры, давления и времени выдержки, причем эти параметры не связаны функционально, а образуют трехмерную область нормативных данных. Наша задача заключается в том, чтобы построить формулы, извлекающие нужные данные из такой трехмерной таблицы.
|
|
A |
B |
C |
D |
E |
|
1 |
Про цесс |
Темпе- ратура |
Дав- ление |
Время |
ВЕС |
|
2 |
№1 |
70 |
2 |
70 |
3 |
|
3 |
№2 |
82 |
7 |
15 |
2,7 |
|
4 |
№3 |
95 |
4 |
50 |
3 |
Рис. 6.38а. Лист Вес Рис. 6.38б
Положим, возможные температурные режимы представлены уровнями в 70, 80 и 90 градусов (начиная от 70), время выдержки – уровнями в 10, 40 и 60 минут (начиная от 60), давление – 1, 3 и 5 атмосфер (от 1). Поместим эти нормативные данные на отдельном листе с именем НОРМЫ. Представим их в виде трех идентичных по структуре таблиц для фиксированных значений температуры (строки 7-10, 11-14, 15-18 листа НОРМЫ). Для формирования функций поиска нам понадобится также специальная техническая таблица Температура, содержащая указания на нужные области. В строке 2 перечислены все значения температуры. В строке 3 – адреса областей, содержащих веса выходного продукта; в строке 4 – адреса областей, содержащих значения давлений; в 5 строке – адреса областей, содержащих время обработки продукта. Все ссылки вводятся непосредственно как текстовые данные и включают также имя листа (НОРМЫ), где они находятся.
Теперь перейдем к главному – построению формул извлечения ожидаемого веса продукта из нормативных таблиц в зависимости от температуры, давления, и времени обработки. Чтобы было понятно, как построена итоговая функция, проделаем это постепенно. Для клетки Е2 листа ВЕС можем записать
=ИНДЕКС(адрес блока данных ВЕС для температуры 70 град.;
номер строки в блоке ДАВЛЕНИЕ для 2 атм. и 70 град.;
номер столбца в блоке ВРЕМЯ для 70 мин. и 70 град.)
или =ИНДЕКС(нормы!C8:E10;
ПОИСКПОЗ(C2;нормы!B8:B10;1);
ПОИСКПОЗ(D2;нормы!C7:E7;1)).
Все адреса здесь относятся к сечению нормативной таблицы, относящемуся к режиму в 70 градусов, поскольку именно такова температура в процессе 1.
Усложним формулу, заменив непосредственные адреса на ссылки, применяя функцию ДВССЫЛ()
=ИНДЕКС(ДВССЫЛ(нормы!B3);
ПОИСКПОЗ(C2;ДВССЫЛ(нормы!B4);1);
ПОИСКПОЗ(D2;ДВССЫЛ(нормы!B5);1)).
|
|
A |
B |
C |
D |
E |
|
1 |
|
Температура |
|
||
|
|
|
70гр |
80гр |
90гр |
|
|
|
вес |
нормы!C8:E10 |
нормы!C12:E14 |
нормы!C16:E18 |
|
|
|
давл. |
нормы!B8:B10 |
нормы!B12:B14 |
нормы!B16:B18 |
|
|
|
время |
нормы!C7:E7 |
нормы!C11:E11 |
нормы!C15:E15 |
|
|
6 |
|
|
|||
|
7 |
70гр |
Давл\Время |
10мин |
40мин |
60мин |
|
8 |
|
1атм |
1т |
2т |
3т |
|
9 |
|
3атм |
1,1т |
1,5т |
1,7т |
|
10 |
|
5атм |
1,8т |
2т |
2,5т |
|
11 |
80гр |
Давл\Время |
10мин |
40мин |
60мин |
|
12 |
|
1атм |
1,5т |
3т |
4,5т |
|
13 |
|
3атм |
1,65т |
2,25т |
2,55т |
|
14 |
|
5атм |
2,7т |
3т |
3,75т |
|
15 |
90гр |
Давл\Время |
10мин |
40мин |
60мин |
|
16 |
|
1атм |
2т |
4т |
6т |
|
17 |
|
3атм |
2,2т |
3т |
3,4т |
|
18 |
|
5атм |
3,6т |
4т |
5т |
Рис. 6.38в. Лист НОРМЫ
Здесь уже используется не сама таблица (для 70º), а ссылки на нее, находящиеся в верхней части листа НОРМЫ.
Пока еще функция не позволяет работать с другими температурными режимами. Чтобы это было возможным, мы заменим фиксированные адреса нормы!$B$3, $B$4 и $B$5 на адреса, найденные функцией ГПР()
E2= ИНДЕКС(ДВССЫЛ(ГПР(B2;нормы!$B$2:$D$5;2;1));
ПОИСКПОЗ(C2;ДВССЫЛ(ГПР(B2;нормы!$B$2:$D$5;3;1));1);
ПОИСПОЗ(D2;ДВССЫЛ(ГПР(B2;нормы!$B$2:$D$5;4;1));1)).
Именно это выражение и использовано в таблице на листе ВЕС. Оно может с сохранением функциональности беспрепятственно копироваться во все другие ее строки.
К
оформлению. 1.
Единицы измерения атм,
мин,
т
и гр
при параметрах процесса, конечно,
являются не элементами данных, а
пользовательскими форматами. 2.
Если
справочные таблицы велики, их удобнее
располагать каждую на отдельном листе.
Когда справочных таблиц немного, то можно, используя функцию ЕСЛИ( ) сразу записать необходимую формулу без формирования текстовых ссылок. В нашем случае можно создать листы содержащие данные для температурных режимов от 70 градусов, от 80-ти и от 90 (рис. 6.38г). Дадим им имена г70, г80 и г90 соответственно. Лист НОРМЫ более не нужен. Выражение для извлечения необходимых данных строится следующим образом
вес=ЕСЛИ(температура < 80, данные извлекаются из листа г70;
ЕСЛИ(температура < 90, данные извлекаются из листа г80;
иначе данные извлекаются из листа г90)).
Или в виде формулы
E2=ЕСЛИ(B2<80;ИНДЕКС(г70!$A$2:$D$5;
ПОИСКПОЗ(C2;г70!$A$2:$A$5;1);ПОИСКПОЗ(D2;г70!$A$2:$D$2;1));
ЕСЛИ(B2<90;ИНДЕКС(г80!$A$2:$D$5;
ПОИСКПОЗ(C2;г80!$A$2:$A$5;1);ПОИСКПОЗ(D2;г80!$A$2:$D$2;1));
ИНДЕКС(г90!$A$2:$D$5;
ПОИСКПОЗ(C2;г90!$A$2:$A$5;1);ПОИСКПОЗ(D2;г90!$A$2:$D$2;1)))).
Пример 6.39. Формирование обобщающих сводок.
Положим, на листе ЗАРП имеется таблица, отражающая ежедневные заработки рабочих. Задача состоит в том, чтобы на листе СВОДКА сформировать обобщенные данные, где каждый работник представлен только одной строкой, содержащей число отработанных дней (всего и в выходные) и сумму зарплаты (также всего и в выходные). Здесь для этой цели используются формулы счёта и суммирования с условием, а в более сложных случаях – функции обработки массивов. Рассмотрим их на примере расчетов для Петра. Подсчитаем количество отработанных им дней
Всего дней отработано Петром = подсчет числа ячеек в А2:А10,
где внесен Петр
или B4=СЧЁТЕСЛИ(зарп!A$2:A$10;A4).
Здесь обратим внимание на то, что в область подсчета включен заголовок (клетка А2) и итоговая строка Всего (клетка А10). Это позволит нам не беспокоиться об изменении размеров таблицы на листе ЗАРП – все новые строки, вставленные между строкой 2 и 10, автоматически попадут в область подсчета сводки.
|
|
|
|
|
|
|
|---|---|---|---|---|---|
|
EA |
B |
||||
|
1CD |
Сводка за месяц |
|
|
||
|
2 |
Рабочих дней |
Зарплата |
|
|
|
|
3 |
|
Всего |
Выходных |
Всего |
В вых. |
|
4 |
Петр |
4 |
1 |
180 |
40 |
|
5 |
Иван |
2 |
1 |
100 |
35 |
|
6 |
Олег |
1 |
0 |
40 |
0 |
|
7 |
Сергей |
0 |
0 |
0 |
0 |

2
3
4
5