СЦЕПИТЬ — объединяет несколько текстовых строк в одну. Вместо функции СЦЕПИТЬ для объединения текстов можно использовать оператор &.
Синтаксис: СЦЕПИТЬ(текст1; текст2;...)
ЗАМЕНИТЬ — заменяет часть текстовой строки на другую текстовую строку.
Синтаксис: ЗАМЕНИТЬ(старый_текст; нач_ном; число_литер; новый_текст)
ПОДСТАВИТЬ — подставляет текст нов_текст вместо текста стар_текст в текстовой строке. Функция ПОДСТАВИТЬ используется, когда нужно заменить определенный текст в текстовой строке, а функция ЗАМЕНИТЬ — когда нужно заменить любой текст, начиная с определенной позиции.
Синтаксис: ПОДСТАВИТЬ(текст; стар_текст; нов_текст; номер_вхождения)
ПРОПИСН — делает все буквы в тексте прописными.
Синтаксис: ПРОПИСН(текст)
ЛЕВСИМВ и ПРАВСИМВ — возвращают соответственно первые (самые левые) и последние (самые правые) символы текстовой строки.
Синтаксис: ЛЕВСИМВ(текст; число_литер); ПРАВСИМВ(текст; число_литер)
ПСТР — возвращает заданное число символов из строки текста, начиная с указанной позиции.
|
|
Синтаксис: ПСТР(текст; нач_ном; число_литер)
ПОИСК — возвращает позицию первого вхождения символа или текстовой строки при поиске слева направо, используется для поиска вхождения символа или строки текста в другую строку текста, с тем чтобы применить функции ПСТР или ЗАМЕНИТЬ для изменения текста.
Синтаксис: ПОИСК(искомый_текст; текст_для_поиска; нач_позиция)
ДЛСТР — возвращает количество символов в текстовой строке.
Синтаксис: ДЛСТР(текст)
ПРОСМОТР имеет две синтаксические формы: вектор и массив.
Вектор — это диапазон, который содержит только одну строку или один столбец. Векторная форма функции ПРОСМОТР просматривает диапазон вектор_просмотра в поисках искомого значения и возвращает значение из диапазона вектор_результата.
Синтаксис: ПРОСМОТР(искомое_значение; вектор_просмотра; вектор_результата)
ВПР — ищет значение в крайнем левом столбце таблицы и возвращает значение в той же строке из указанного столбца таблицы. Если сравниваемые значения расположены в верхней строке таблицы данных, а возвращаемые значения расположены на несколько срок ниже, используется функция ГПР, которая ищет значение в верхней строке таблицы и возвращает значение в том же столбце из заданной строки таблицы.
Синтаксис: ВПР(искомое_значение; табл_массив; номер_столбца; диапазон_просмотра)
ПОИСКПОЗ — возвращает позицию (порядковый номер) элемента в массиве.
Синтаксис: ПОИСКПОЗ(искомое_значение; просматриваемый_массив; тип_сопоставления)
Примеры
Пример 4.1. Фирма начала выполнение крупного заказа 35 рабочих дней назад. Определить сколько рабочих дней и сколько календарных дней займет работа над заказом, если планируется его закончить в последний день года.
|
|
Выполнение:
1. По функциям СЕГОДНЯ, ГОД и ДАТА в ячейках С1:С10 получены текущая дата, последняя дата и даты праздников текущего года. Данную задачу необходимо решить в лабораторной работе, поэтому формулы для нее не приводятся.
2. Дата начала работ определяется по функции РАБДЕНЬ, в которой начальной датой является текущая, количество дней à 35 со знаком минус, так как выполнение заказа началось 35 рабочих дней назад. Необходимо также указать диапазон праздников, созданный в С2:С9. Таким образом, формула =РАБДЕНЬ(C1;‑35;C2:C9), созданная в Е1 вернет результат à 38806, который нужно отформатировать как дату.
3. Количество календарных дней определяется разностью между датами окончания и начала работ à =C10–E1. Результат в Е2 нужно отформатировать как число.
4. Количество рабочих дней в Е3 определяется по функции ЧИСТРАБДНИ, в которой нужно указать даты начала и окончания работ, а также даты праздников: =ЧИСТРАБДНИ (E1;C10;C2:C9)
Пример 4.2. Рассчитать премию сотрудников по данным таблицы в А1:D9, если она составляет 40% от оклада при отсутствии опозданий. За каждое опоздание процент премии снижается на 10%, а 4-е опоздание лишает сотрудника всяческой премии. Процент премии, оставшийся после вычетов за опоздания, может увеличиваться на 10% за 6—10 сверхурочных часов, на 20% — за 11—15, на 30% — за 16 и выше.
Выполнение:
- Для вычисления премии нужно оклад умножить на процент премии (=В2*В11). Так как процент премии зависит от ряда факторов (количество опозданий сотрудника и сверхурочные часы), то вместо базового процента в В11 для определения фактического процента следует использовать функцию ЕСЛИ. Чтобы не запутаться в условиях, удобно составить блок-схему:
- Составленную блок-схему несложно применить для заполнения аргументов функции ЕСЛИ. Количество ромбов (à) в схеме соответствует количеству функций ЕСЛИ в формуле, условие в ромбе — это логическое выражение в функции ЕСЛИ, выражение или формула, которая идет по стрелке «да» соответствует аргументу «Значение_если_истина», по стрелке «нет» — аргументу «Значение_если_ложь».
3. Формула разрабатывается в Е2, для первого сотрудника, а затем протягивается в Е3:Е9 à =B2* ЕСЛИ (C2>=4;0; ЕСЛИ (D2<6;$B$11–$B$12*C2;
ЕСЛИ (D2<11;$B$11–$B$12*C2+$B$12; ЕСЛИ (D2<16;
$B$11–$B$12*C2+$B$12*2;$B$11–$B$12*C2+$B$12*3))))
Пример 4.3. Получить в столбце В название улицы из адреса в столбце А.
Выполнение:
- Для получения части текста из ячейки используется функция ПСТР, в которой аргумент «Текст» — это ячейка, содержащая весь текст, аргумент «Начальная_позиция» — это номер символа, следующего за первым пробелом (V), аргумент «Количество знаков» — это разность между номером второго пробела и начальной позицией.
- Для нахождения номера символа используется функция ПОИСК. Чтобы найти первый пробел, поиск нужно начинать с первого символа à ПОИСК(" V ";A1;1). Прибавив к этой формуле единицу, получим номер символа, следующего за первым пробелом.
- Чтобы найти второй пробел, поиск нужно начинать с символа, следующего за первым пробелом à ПОИСК(" V ";A1;ПОИСК(" V ";A1;1)+1)
- Подставив полученные формулы поиска первого и второго пробела в функцию ПСТР, в ячейке В1 получим формулу:
= ПСТР (A1; ПОИСК (" V ";A1;1)+1; ПОИСК (" V ";A1; ПОИСК (" V ";A1;1)+1)–(ПОИСК (" V ";A1;1)+1))
Пример 4.4. Разработать формулу, которая будет по данным таблицы в A1:G4 возвращать текст в виде «Процент надбавки составляет ХХ%» в зависимости от введенных в С6 категории и в С7 стажа работы.
Выполнение:
Искомый процент надбавки находится на пересечении заданной категории и стажа работы. Чтобы получить его по формуле, нужно использовать функции ссылок и массивов. Задачу можно решить несколькими способами.
|
|
1 способ:
1.1. Рассмотрим таблицу А2:G4, в первом столбце которой расположены категории.
1.2. Используя функцию ВПР и указав в аргументе «Искомое значение» à С6, можно извлечь процент надбавки из любого столбца этой таблицы для категории введенной в С6.
1.3. Столбец, из которого нужно извлечь процент надбавки, зависит от стажа, введенного в С7, поэтому для его нахождения нужно использовать формулу à ПОИСКПОЗ(C7;А1:G1;0)
1.4. Таким образом, функция ВПР должна быть следующей à ВПР(C6;A2:G4; ПОИСКПОЗ(C7;А1:G1;0);0)
1.5. Результат, возвращаемый функцией ВПР, нужно отформатировать с помощью функции ТЕКСТ и сцепить с текстовой строкой:
="Процент надбавки составляет "&ТЕКСТ(ВПР(C6;A2:G4;ПОИСКПОЗ(C7;А1:G1;0);0);"0%")
2 способ:
2.1. Рассмотрим таблицу В1:G4, в первой строке которой находится стаж.
2.2. Используя функцию ГПР и указав в аргументе «Искомое значение» à С7, можно извлечь процент надбавки из любой строки этой таблицы для стажа введенного в С7.
2.3. Строка, из которой нужно извлечь процент надбавки, зависит от категории, введенной в С6, поэтому для ее нахождения нужно использовать формулу à ПОИСКПОЗ(C6;А1:А4;0)
2.4. Таким образом, функция ГПР должна быть следующей à =ГПР(C7;B1:G4; ПОИСКПОЗ(C6;A1:A4;0);0)
2.5. Результат, возвращаемый функцией ГПР, нужно отформатировать с помощью функции ТЕКСТ и сцепить с текстовой строкой:
="Процент надбавки составляет "&ТЕКСТ(ГПР(C7;B1:G4;ПОИСКПОЗ(C6;A1:A4;0);0);"0%")
Практические задания
На оглавление