
- •Попов а.А.
- •Москва – 2004
- •Тираж: 200. Изд. № Заказ № введение
- •1. Интерфейс системы
- •1.1. Элементы интерфейса ос Windows
- •Справка
- •1.2. Интерфейс среды Excel
- •Просмотр списка имен Ввод Поле ввода
- •1.3. Средства управления Excel
- •Прочие клавиши
- •1.4. Организация данных в Excel
- •2. Элементарные операции с данными
- •2.1. Манипулирование данными
- •2.1.6. Вставка элементов таблицы
- •Буксировать мышью влево
- •2.1.8. Операции с рабочими листами
- •2.2. Виды адресации
- •2.4. Создание формул
- •2.5. Задачи для самостоятельного решения Контрольные вопросы
- •Упражнения
- •2. Перемещение и копирование данных.
- •2 ( ; Перейти в е5; ). .1. Переместить содержимое блока в2:в3 в е5:е6.
- •2 ( ; Перейти в e5; ). .2. Скопировать содержимое блока в2:в3 в е5:е6.
- •3.1. Простое автозаполнение (копирование без изменения данных).
- •3.2. Автозаполнение из списков.
- •3.3. Формирование арифметических прогрессий.
- •5. Манипулирование строками/столбцами.
- •5.2. Управление шириной строк/столбцов.
- •7 . Построение формул.
- •3. Оформление данных
- •3 .1. Выравнивание данных
- •3.2. Управление шрифтами
- •3.3. Форматирование чисел
- •Положительное; Отрицательное; Нулевое; Текстовое
- •[Черный]; [Зеленый]; [Голубой]; [Красный]
- •3.4. Мастер условного форматирования
- •3.5. Контроль ввода
- •3.6. Задачи для самостоятельного решения Контрольные вопросы
- •Упражнения
- •4. Функции рабочего листа
- •4.1. Функция суммирования
- •4.2. Арифметические функции
- •4.3. Функции округления
- •4.4. Степенные функции
- •4.5. Тригонометрические функции
- •4.6. Текстовые функции
- •4.7. Логические функции
- •4.8. Функции выбора и поиска
- •Гпр(что искать; где искать; откуда взять; как искать).
- •Условие 1
- •4.9. Сводные функции
- •4.10. Функции обработки дат
- •4.11. Финансовые функции
- •4.12. Информационные функции
- •4.13. Ошибочные значения
- •4.14. Функции анализа ошибок
- •4.15. Работа с массивами
- •4.16. Матричные функции
- •То можно обеспечить правильное сложение данных и при вставках новых строк в любом месте диапазона суммирования. Или конкретно для нашего случая
- •4.17. Примеры “из жизни”
- •4.18. Задачи для самостоятельного решения
- •5. Примеры практических задач
- •"Остаток:"???"дн"; [красный]"доплата"???"дн"; [синий]"съезд"
- •6. Задачи для самостоятельного решения
- •7. Тесты к дисциплине
- •Оглавление
- •Курс компьютерной подготовки
Условие 1
значение равно =ГПР(B4;$C$1:$E$1;1;0)
формат – шрифт полужирный курсив
и распространим его на все клетки основной части таблицы. Результат вы видите на рисунке. Теперь мы легко определим, кто именно работал в указанные дни (эти даты выделены).
Пример. Рассмотрим (рис. 4.8-4) содержательный пример, связанный с использованием функции ГПР().
Пусть по разряду рабочего (клетка В8) требуется в тарифной сетке найти соответствующий ему суточный тариф (D5) оплаты труда для дальнейшего начисления зарплаты по итогам месяца. Затем тариф умножается на число рабочих дней (сейчас не рассматривается).
Здесь в клетке C8 должен быть получен тариф Петра по его разряду (т.е. по третьему разряду 42 руб.)
тариф_Петра=ГПР(разряд_Петра;тарифная_сетка; строка_Тариф; поиск_точный)
или в виде функции С8=ГПР(В8;B$4:E$5;2;0), где значение В8 ищется в верхней строке области B4:E5. Если поиск оказался успешным, результат извлекается из второй строки области поиска и заносится в С8.
Оформление таблицы, изображенное на рисунке, представляет тарифы наглядным и легкоредактируемым образом. В случае если это не нужно, можно воспользоваться массивами – вместо области поиска задаются сами данные о тарифах, помещенные в фигурные скобки. Вначале перечисляются разряды, затем (через знак двоеточие) – собственно расценки С8=ГПР(B8;{1;2;3;4:30;35;42;50};2;0).
|
A |
B |
C |
D |
1 |
Фирма |
Взнос |
|
|
2 |
Весна |
200 |
|
|
3 |
Сервис |
100 |
|
|
4 |
Наташа |
600 |
|
|
5 |
Восток |
70 |
|
|
6 |
|
|
|
|
7 |
Заказчик |
Взнос |
Оплата |
Остаток |
8 |
Наташа |
600 |
200 |
400 |
9 |
Запад |
0 |
|
|
Рис. 4.8-5 |
|
A |
B |
C |
D |
E |
|
|
Тарифная сетка |
|
||
4 |
Разряд |
1 |
2 |
3 |
4 |
5 |
Тариф |
30 |
35 |
42 |
50 |
6 |
|
|
|
|
|
7 |
Имя |
Разряд |
Тариф |
|
|
8 |
Петр |
3 |
42 |
|
|
Рис. 4.8-4
Здесь не требуется иметь таблицу тарифов, но зато при их изменении, придется редактировать сами формулы.
Замечание. Если объект поиска целое число, поиск точный, а строка извлечения не слишком велика (до 29 элементов), то для тех же целей можно воспользоваться функцией ВЫБОР(). Так (см. выше), вместо С8=ГПР (В8;B$4:E$5;2;0) можно применить С8=ВЫБОР(В8;B$5;C$5;D$5;E$5).
Пример. Задача с использованием функции ВПР() (рис. 4-8.5).
Положим нужно обслужить фирмы-заказчики, предварительно внесшие некоторые денежные взносы (область А2:В5). Таблица должна быть устроена таким образом, чтобы оператор, вводя название фирмы (например, в А8) должен сразу (в В8) видеть эту сумму, с тем, чтобы не допустить отпуск товара свыше нее. В списке фирм заказчик может и отсутствовать. В этом случае в столбце Взнос должен быть выведен 0. Для розыска значения взноса достаточно формулы вида
В8=ВПР(A8;A$2:B$5;2;0).
Однако, если введено имя фирмы, не сделавшей взноса, в клетке будет сообщение об ошибке вида #Н/Д (нет данных). Для формирования правильной реакции системы следует усложнить выражение, использовав средства, способные распознать такую ситуацию
взнос_фирмы=если(фирма не найдена, то 0р., иначе ее взнос).
Или в виде формулы B8=ЕСЛИ(ЕНД(ВПР(A8;A$2:B$5;2;0));0;ВПР(A8;A$2:B$5;2;0)).
Здесь использована функция ЕНД() распознавания соответствующей ошибки (см. раздел 4.13). Тогда Остаток: D8=B8-C8.
Замечание. В некоторых случаях значение четвертого аргумента (тип поиска) функций ВПР()/ГПР() кажется безразличным. В предыдущем примере функция =ГПР(В8;B$4:E$5;2;0) даст тот же результат, что и =ГПР(В8; B$4:E$5;2;1), поскольку строка разрядов упорядочена по возрастанию. В случае, если предполагается точный поиск, следует все-таки всегда указывать параметр 0. Это позволит пользователю вовремя заметить допущенную им при заполнении таблицы ошибку. Например, если он для некоторого работника ввел значение несуществующего пятого разряда (рис. 4.8-4), Excel выдаст сообщение об ошибке. В том же самом случае при параметре тип поиска=1, система предложит считать результатом поиска тариф ближайшего четвертого разряда. Конечно, такую ошибку довольно сложно обнаружить.
СМЕЩ(ссылка; строк смещения по вертикали; столбцов смещения по горизонтали; высота; ширина)
– функция возвращает диапазон заданной высоты и ширины, смещенный относительно ссылки на соответствующее число строк и столбцов. Результатом может быть как адрес одной клетки, так и целый блок. Функция может быть использована другими функциями, работающими с адресами (например СУММ()).
Пример. СУММ(СМЕЩ(A1;0;1;1;3))=СУММ(B1:D1).
Здесь относительно клетки A1 на расстоянии вниз на 0 строк и вправо на 1 столбец (т.е. начиная с позиции A2) выбирается блок размером в одну строку и три столбца (т.е. блок B1:D1).
ЧИСЛСТОЛБ(область) – возвращает число столбцов в области.
Примеры: ЧИСЛСТОЛБ(A1:C4) = 3 (столбцов в блоке),
ЧИСЛСТОЛБ({1;2;3:4;5;6}) = 3 (столбцов в массиве).
ЧСТРОК(области) – возвращает число строк в области.
Примеры: ЧСТРОК(A1:C4) = 4 (строк в блоке),
ЧСТРОК({1;2;3:4;5;6}) = 2 (строк в массиве).
АДРЕС(номер строки; номер столбца; [тип ссылки]; [стиль ссылки]; [имя листа])
– возвращает в текстовой форме адрес ячейки, находящейся на пересечении строки и столбца с указанными номерами в заданном листе.
Тип ссылки – указывает тип возвращаемой ссылки и может иметь одно из значений:
1 – абсолютный (например, $A$1);
2 – абсолютная строка, относительный столбец (A$1);
3 – относительная строка, абсолютный столбец ($A1);
4 – относительный (A1).
Если тип не указан, он считается абсолютным (тип 1).
Стиль ссылки – логическое значение. ИСТИНА (или опущено) – ссылка в стиле А1; ЛОЖЬ – в стиле С1К1.
Имя листа – имя рабочего листа или листа макросов.
Примеры: АДРЕС(2;3) = "$C$2", АДРЕС(2;3;2) = "C$2",
АДРЕС(2;3;2;ЛОЖЬ) = "R2C[3]", АДРЕС(2;3;1;ЛОЖЬ;"Лист1") = "Лист1!R2C3".
ДВССЫЛ(ссылка на ячейку; стиль ссылки) – возвращает ссылку, заданную ссылкой на ячейку.
Ссылка на ячейку – адрес ячейки, которая содержит либо ссылку в стиле А1, либо ссылку в стиле R1C1, либо имя, определенное как ссылка. Если ссылка не допустима, возвращается значение ошибки #ССЫЛ!.
|
A |
B |
C |
D |
E |
1 |
|
|
|
|
|
2 |
|
1 |
2 |
3 |
4 |
3 |
|
5 |
6 |
7 |
8 |
4 |
|
9 |
10 |
11 |
12 |
5 |
|
13 |
14 |
15 |
16 |
Рис. 4.8-6 |
Функция используется для того, чтобы получить значение, находящееся в ячейке, ссылка на которую находится в другой ячейке. Примеры: Если A1 содержит текст "B2", а ячейка B2 – значение 8, то ДВССЫЛ(A1) = 8.
Если Excel настроен на работу с адресами в стиле R1C1 и ячейка R3C5 содержит R2C2, где в свою очередь находится число 2, то 3*ДВССЫЛ(R3C5;ЛОЖЬ) = 6.
ИНДЕКС(область; номер строки; номер столбца) – возвращает ссылку на ячейку, на пересечении строки и столбца с указанными номерами внутри области.
|
A |
B |
C |
D |
E |
F |
1 |
|
|
|
|
|
|
2 |
|
|
ТАРИФНАЯ СЕТКА |
|
|
|
3 |
|
долж. стаж |
Рабочий |
Звеньевой |
Бригадир |
Прораб |
4 |
|
от 0 лет |
1,0 |
2,0 |
3,0 |
5,0 |
5 |
|
от 5 лет |
1,2 |
2,3 |
3,5 |
5,5 |
6 |
|
от 10 лет |
2,0 |
2,5 |
3,8 |
6,0 |
7 |
|
от 15 лет |
2,2 |
2,7 |
4,4 |
6,7 |
|
|
|
Рис. |
4.8-7 |
|
|
Примеры (данные взяты из рис. 4.8-6).
=ИНДЕКС(B2:B5;3)=B4=9,
=ИНДЕКС(B5:E5;;4)=E5=16,
=ИНДЕКС(B2:E5;3;2)=C4=10,
=СУММ(ИНДЕКС(B2:E5;2;2):ИНДЕКС(B2:E5;3;4))=СУММ(C3:E4)=54,
=СУММ(ИНДЕКС(B2:B5;0))=СУММ(B2:B5)=28.
Функция ИНДЕКС() удобна для вычисления адресов блоков.
Пример. Положим (рис. 4.8-7) имеется тарифная сетка определения зарплаты (в тыс. руб.) работников с учетом их должности и стажа работы. Здесь в области В4:В7 представлены сведения о стаже в формате вида “от” ## “лет”, т.е., несмотря на внешний вид, это не текстовые, а числовые данные (числа 0, 5, 10, 15).
Пусть, нам нужно найти зарплату для сотрудника в должности Бригадир со стажем 8 лет. В таблице тарифов этим данным соответствует число 3,5 (клетка выделена), находящееся на пересечении второй строки и третьего столбца области C4:F7. Если все параметры поиска установлены, их можно указать в функции
ИНДЕКС($C$4:$F$7;2;3)=3,5.
Однако номера строки и столбца нам пока неизвестны. Их предстоит вычислить, исходя из должности и стажа. Номер столбца (3) находится формулой (поиск точный)
=ПОИСКПОЗ("Бригадир";$C$3:$F$4;0)), а номер (2) столбца =ПОИСКПОЗ(8;$B$4:$B$7;1).
Здесь поиск интервальный, поскольку фактический стаж может и не совпадать с перечисленными цифрами лет в таблице. Или целиком
=ИНДЕКС($C$4:$F$7;ПОИСКПОЗ(8;$B$4:$B$7;1);ПОИСКПОЗ("Бригадир";$C$3:$F$4;0)).
На практике, конечно, в качестве аргументов используются не константы (слово Бригадир и число 8), а ячейки, содержащие соответствующие индивидуальные данные о стаже и должности работника.
СТОЛБЕЦ([ссылка]) – возвращает номер столбца по заданной ссылке на клетку.
Пример: СТОЛБЕЦ(A3) = 1.
СТРОКА([ссылка]) – возвращает номер строки по заданной ссылке на клетку. Пример: СТРОКА(A3)=3.
Функции СТОЛБЕЦ() и СТРОКА() без аргументов возвращают номера текущих столбца и строки.
Пример. В списке сотрудников (рис.4.8.8) найти человека с наибольшим разрядом. Решением будет функция =ИНДЕКС(A2:A4;ПОИСКПОЗ(МАКС(B2:B4);B2:B4)), которая выработает ответ – Иван. Функция ПОИСКПОЗ() ищет номер строки в столбце разрядов, в которой находится максимальный разряд рабочего.
-
А
В
A
B
C
D
E
F
G
1
ФИО
Разряд
1
Работник
Март
Апрель
Май
Июнь
Июль
Лучший месяц
2
Ольга
2
2
Петр
50
80
70
20
Апрель
3
Иван
4
3
Иван
110
30
150
Июнь
4
Олег
3
4
Олег
90
200
Май
Рис. 4.
8-8
5
Лучший в месяце
Иван
Петр
Олег
Иван
#Н/Д
Рис. 4.8-9
Пример. Положим, у нас имеется таблица (рис. 4.8-9), где зафиксированы выработки (в тыс. руб.) работников организации. Наша задача – определить лучшего работника в каждом из месяцев и лучший месяц для каждого работника. Рабочие формулы приведены ниже
B5=ИНДЕКС($A$2:$A$4;ПОИСКПОЗ(МАКС(B2:B4);B2:B4;0)),
G1=ИНДЕКС($B$1:$F$1;ПОИСКПОЗ(МАКС(B2:F2);B2:F2;0)).