Если значение 1. Условные предложения первого типа в английском языке

Как правильно составить предложение с if в английском языке? Ведь в русском мы используем их каждый день:

«Мы устроим пикник в парке, если будет хорошая погода. Если она выучит английский язык, то найдет хорошую работу. Если ты не поторопишься, мы опоздаем на поезд».

Все эти предложения содержат определенное условие, при выполнении или не выполнении которого совершится само действие. В английском языке такие предложения называются условными .

Есть несколько типов таких предложений. В этой статье я расскажу вам про условные предложения первого типа.

В статье вы узнаете:

  • Правила и схемы образования утвердительных предложений

Правила использования первого типа условных предложений в английском языке

Условные предложения первого типа (First conditional) используются, когда мы говорим о реальных событиях будущего времени . То есть, если выполнится условие, то действие произойдет в будущем.

Например:

Если погода будет теплой (условие), мы пойдем гулять (действие в будущем).

Они пойдут в кино (действие в будущем), если уйдут с работы пораньше (условие).

Давайте рассмотрим, как правильно строить такие предложения в английском языке.

Правила образования условных предложений первого типа в английском языке


Условные предложения состоят из 2-х частей:

  • основной части - действие, которое произойдет в будущем
  • условия - события, которые должны произойти

Условное предложение может начинаться, как с основной части, так и с условия.

Давайте разберем образование каждой из этих частей.

Основная часть

Основная часть содержит действие, которое произойдет в будущем. Поэтому в этой части мы используем время Future Simple (простое будущее), которое образуется с помощью глагола will .

При построении предложения этот глагол мы ставим после действующего лица, совершающего действие.

Также в этой части вместо will могут использоваться слова:

  • shall - должен/следует
  • should - следует
  • would - будет
  • can - может
  • could - могли бы
  • may - может/возможно
  • might - возможно/может

He will go to the shop, …….
Он пойдет в магазин, …….

She can open the window, ……
Она может открыть окно, ……

He should lock a door, ……
Ему следует запереть дверь, ……

Условная часть

Эта часть предложения содержит определенное условие, при наступлении или не наступлении которого произойдет действие из основной части.

В этой части мы используем время Present Simple (простое настоящее), несмотря на то, что на русский язык переводим ее в будущем времени.

В этом времени мы никак не изменяем глагол, если действия совершают: I (я), you (ты), they (они), we(мы). Если действия совершают: he (он), she (она), it (оно), то к глаголу добавляем окончание -s/-es.

Условная часть начинается со слова if , которое переводится как «если».

Также вместо if могут использоваться:

  • When - когда
  • While - в то время как, пока, в течении
  • Before - до
  • After - после
  • As soon as - как только
  • Until (till) - до, до этого момента

If I work hard, ……
Если я буду много работать, …….

If he calls me, ……
Если он позвонит мне, …..

If she teaches you, ……
Если она научит тебя, …….

Чтобы не допускать ошибок, запомните: мы не ставим will после if

Соединив две части, мы получаем следующую схему образования первого типа условных предложений:

She will call me if she goes to the cinema.
Она позвонит мне, если пойдет в кино.

He will come if you call him.
Он придет, если ты позвонишь ему.

They will help her if she asks them.
Они помогут ей, если она попросит.

Мы можем менять основную часть и условие местами, при этом правила образования этих частей никак не изменится. Добавляется лишь запятая, которая теперь разделяет две части.

If he tries hard, he will succeed.
Если он будет стараться, он добьется успеха.

If they study hard, they will pass an exam.
Если они будут много заниматься, они сдадут экзамен.

If she feels well, she will come.
Если она будет чувствовать себя хорошо, она придет.

Условные предложения первого типа с отрицанием


В таких предложениях мы также можем использовать отрицание, если:

  • действие случится, при условии, что что-то не произойдет (отрицание в части с условием)
    Например: Я приеду вовремя, если не попаду в пробку.
  • действие не случится, при условии, что что-то произойдет (отрицание в основной части)
    Например: Она не придет на вечеринку, если будет работать.
  • действие не случится, при условии, что что-то не произойдет (отрицание в обеих частях)
    Например: Они не приедут, если ты не позвонишь им.

Рассмотрим каждый случай.

Отрицание в основной части

Чтобы сделать отрицательной основную часть, мы ставим not после will.

Чаще всего мы используем сокращение: will + not = won t . Схема такого предложения будет следующей:

They won’t go to the gym if they get tired.
Они не пойдут в спортзал, если они устанут.

She won’t sleep, if she prepares for an exam.
Она не будет спать, если она будет готовиться к экзамену.

Отрицание в части с условием

Отрицание в этой части образуется с помощью вспомогательного глагола do/does времени Present Simple и отрицательной частицы not.Do мы используем, когда говорим I (я), you (ты), they (они), we (мы). Does, когда говорим she (она), he (он), it (оно).

Здесь мы также пользуемся сокращениями:

do + not = don"t
does + not = doesn’t

Их мы ставим после действующего лица.

Схема образования предложения будет:

She will leave if you don’t call her.
Она уйдет, если ты не позвонишь ей.

He will be late if he doesn’t hurry.
Он опоздает, если он не поторопится.

Отрицание в обеих частях

Отрицание может стоять сразу в 2-х частях сразу. Схема образования будет следующей:

Как вы видите, в первой части мы добавляем not к will, во второй ставим don"t/doesn"t после действующего лица.

They won’t buy a new car, if they don’t sell an old one.
Они не купят новую машину, если не продадут старую.

She won’t go abroad, if she doesn’t find a job.
Она не поедет заграницу, если не найдет работу.

А теперь давайте рассмотрим, как задать вопросительное предложение с условием.

Вопрос с условным предложением первого типа в английском языке

Когда мы задаем вопрос, то узнаем, сделает ли человек что-то при определенных условиях или нет.

Чтобы построить вопрос, нам нужно изменить только основную часть. Для этого переносим will на первое место в предложении.

Часть, которая содержит условие менять не нужно.

Схема такого предложения:

Обратите внимание, когда мы задаем вопрос, основная часть всегда стоит на первом месте.

Will we go to a park if you finish your work?
Мы пойдем в парк, если ты закончишь работу?

Will she get a new job if she learns English?
Она получит работу, если она выучит английский?

Так как вопрос задается к основной части, то:

  • короткий положительный ответ будет содержать yes, действующее лицо и will.

Will he take a taxi if he misses a bus? Yes , he will .
Он возьмет такси, если пропустит автобус. Да, возьмет.

  • короткий отрицательный ответ будет содержать no, действующее лицо и won"t.

Will they wait for me if I come with them? No , they won’t .
Они меня подождут, если я пойду с ними? Нет, не подождут.

Итак, в условных предложениях первого типа главное помнить, что в части с условием (if), мы не используем будущее время (will). Так как эта ошибка является наиболее распространенной при изучении этой темы. Чтобы закрепить составление таких предложений, сделайте задание на закрепление.

Задание на закрепление

Переведите следующие предложения на английский язык:

1. Если увидишь Тома, скажи ему позвонить мне.
2. Если я выпью кофе, я не буду спать.
3. Она встретится со мной, если не будет работать.
4. Он получит работу, если он переедет.
5. Они не приготовят торт, если не сходят в магазин.
6. Мы не пойдем в кино, если она придет.

Свои ответы оставляйте в комментариях под статьей.

Microsoft Excel – довольно мощный редактор для работы с таблицами. При этом его возможности не ограничиваются только этим. Работать с текстом можно и в редакторе Word, но в нем нет динамики. Именно поэтому для анализа информации лучше всего использовать Эксель. В данной статье мы рассмотрим функцию ЕСЛИ с несколькими условиями. В Excel стандартных примеров нет, поэтому будем использовать что-то своё.

В качестве примера создадим таблицу зарплаты для учителей в зависимости от их категории и будем использовать эти данные для различных манипуляций.

Принцип действия довольно простой. Вы указываете какое-нибудь условие и что нужно делать в случаях истины и лжи.

ЕСЛИ(лог_выражение;значение_если_истина;значение_если_ложь)

Полное описание можно увидеть в окне «Вставка функции».

  1. Нажмите на иконку
  2. Выберите категорию «Полный алфавитный перечень».
  3. Найдите там пункт «ЕСЛИ».
  4. Сразу после этого вы увидите описание функции.

В качестве примера добавим столбец с премией для учителей высшей категории.

Затем необходимо выполнить следующие действия.

  1. Перейдите на первую ячейку. Нажмите на иконку «Fx». Найдите там функцию «ЕСЛИ» (её можно отыскать в категории «Полный алфавитный указатель»). Затем кликните на кнопку «OK».
  1. В результате этого появится следующее окно.
  1. В поле логическое выражение введите следующую формулу.

В качестве адреса указываем ячейку, в которой содержится категория преподавателя.

  1. После подстановки вы увидите, что данное выражение ложно.
  1. Затем указываем значения дли «Истины» и «Лжи». В первом случае какое-то число, а во втором – ноль.
  1. После этого мы увидим, что логический смысл выражения будет ложным.
  1. Для сохранения нажимаем на кнопку «OK».
  1. В результате использования этой функции вы увидите следующее.

В нашей таблице много записей. Нужно сделать так, чтобы на всем диапазоне этого столбца была точно такая же формула, только с поправкой на индекс (номер строки). Для этого выполните следующие шаги.

  1. Наведите курсор в правый нижний угол первой ячейки.
  2. Если вы сделали всё правильно, то он превратится в черный крестик.
  1. Теперь сделайте левый клик мыши и не отпуская палец опуститесь до конца таблицы.

Благодаря этой формуле произошла выборка нужных учителей и им была начислена премия. В итоге в список попало только два человека, поскольку только у них высшая категория.

В данном случае информации не так много. А теперь представьте, что такая таблица будет огромной. Ведь в организации всегда работает большое количество людей. Если работать в редакторе Word и делать такое сравнение квалификации сотрудников вручную, то кто-нибудь (вследствие ошибок, связанных с человеческим фактором) будет выпадать из списка. Формула в Экселе никогда не ошибется.

Использование условия «И»

Как правило, очень часто приходится использовать различные дополнительные проверки. Например, можно посчитать премию не просто для учителей высшей категории, а конкретно для математиков.

Для этого достаточно выполнить следующие действия.

  1. Кликните на первую ячейку в столбце «Премия».
  2. Затем нажмите на иконку «Fx».
  1. Сразу после этого появится окно с используемой функцией со всеми указанными аргументами. Таким образом редактировать намного проще – непосредственно в ячейке.
  1. В графе логическое выражение укажите следующую формулу. Для сохранения изменений нажмите на кнопку «OK».
И(D3="Высшая";E3="Математика")
  1. Скопируйте эту формулу во все остальные ячейки.
  1. Теперь премия будет только у одного человека, поскольку только у него высшая категория и он математик.

Использование условия «ИЛИ»

  1. Перейдите в первую ячейку.
  2. Кликните на иконку «Fx».
  1. Текущее логическое выражение нас не устраивает.
  1. Нужно будет поменять его на следующее.
ИЛИ(D3="Первая";D3="Вторая")
  1. Сразу после этого мы увидим, что у первого преподавателя появилась премия, поскольку у него первая категория.
  1. Дублируем эту формулу в остальные ячейки.

В результате этого мы увидим следующее.

Благодаря данному оператору мы смогли сделать сложный запрос и рассчитать премию для разной категории сотрудников.

В качестве демонстрации данного инструмента попробуем посчитать общую зарплату для учителей первой категории. Для этого создадим еще одну строку.

Затем выполним следующие шаги.

  1. Переходим на соседнюю клетку и вызываем функцию (повторяем описанные выше действия) СУММЕСЛИ. Активной должна быть именно та ячейка, в которой будет выводиться сумма.
  1. Сразу после этого вы увидите окно, в котором нужно указать аргументы функции:
    • диапазон;
    • критерий;
    • диапазон суммирования.
  1. В первое поле нужно вести ссылку на столбец с категорией. Это можно сделать вручную либо просто выделить эти ячейки. В процессе выделения окно свернется, а нужные клетки обозначатся пунктирной рамкой.
  1. Как только вы отпустите палец, всё вернется в прежний вид, а нужный диапазон подставится автоматически.
  1. В графе «Критерий» нужно указать слово «Первая», так как мы считаем зарплату именно этих преподавателей.
  1. Затем нам необходимо выделить графу зарплата. Но перед этим кликаем на последнее поле – нужно, чтобы оно стало активным.
  1. Только после этого можно указывать нужный диапазон.
  1. Как только вы отпустите палец, увидите следующее.
  1. Для сохранения формулы достаточно кликнуть на кнопку «OK».

В результате мы увидим, что общая зарплата учителей с первой категорией составила 1200.

Для этого необходимо сделать следующее.

  1. Добавим строчку, где будем производить расчёты.
  1. Переходим в нужную клетку и кликаем на иконку «Fx». Находим нужную функцию и нажимаем на кнопку «OK».
  1. В появившемся окне следует указать нужный диапазон суммирования. В данном случае это графа зарплата.
  1. Для этого достаточно выделить нужные ячейки и в результате этого они подставятся автоматически.
  1. Теперь указываем «Диапазон условия 1». Например, здесь можно указать категорию сотрудников. Перед выделением обязательно кликните на это поле, иначе выделенные ячейки попадут в первую строку. Сразу после этого вы увидите новое поле для ввода.
  1. Введите туда слово «Первая». Сразу после этого вы увидите поля для второго условия.
  1. Делаем клик на поле «Диапазон условия 2». Затем выделяем столбик с предметом.
  1. В строку «Условие 2» напишите нужный вам предмет. В данном случае – «Математика». Для того чтобы увидеть корректность вашей формулы, достаточно будет кликнуть в любое уже ранее указанное поле. В результате этого второе условие окажется в кавычках (согласно правилам) и вы увидите результат данной функции.

Для сохранения формулы необходимо нажать на кнопку «OK».

В итоге вы увидите следующее.

В редакторе Эксель для расчётов количества ячеек можно использовать формулу «СЧЕТ». Но как быть, если нужно посчитать не все ячейки? Более того, позиция нужных клеток заранее неизвестна, поскольку таблица может содержать большое количество данных.

В таких случаях нужно использовать СЧЕТЕСЛИ. В качестве примера посчитаем, сколько именно сотрудников имеют высшую категорию. Для этого нужно сделать следующее.

  1. Добавим новую строку. Сделаем активной нужную ячейку и кликнем на иконку вставки функции.
  1. В появившемся окне находим нужную формулу и нажимаем на кнопку «OK».
  1. Затем вас попросят указать диапазон и критерий отбора.
  1. Сделайте клик в первое поле и выделите нужные ячейки, чтобы ссылка на них подставилась автоматически.
  1. Затем в поле критерий указываем слово «Высшая». Для сохранения нажмите на кнопку «OK».
  1. В результате этого вы увидите следующее.

  1. Добавляем новую строку для расчётов. Кликаем на нужную ячейку и вызываем окно «Вставка функции». Находим нужную и кликаем на кнопку «OK».
  1. В графу «Диапазон условия» указываем поле «Категория». Для этого достаточно выделить нужные ячейки.
  1. После клика в поле «Условие 1» у вас появится строка для второго диапазона.
  1. Введите нужную категорию учителя. В данном случае – «Высшая».
  1. После этого сделайте клик в поле «Диапазон условия 2» и выделите столбец с названием предмета.
  1. Затем в последнее поле указываем слово «Математика». Для сохранения нажимаем на кнопку «OK».
  1. Результат будет следующим.

Расчёт произошел корректно. В нашей таблице всего 1 преподаватель математики с высшей категорией.

Функция ПОИСКПОЗ

Иногда при составлении сложных формул нужно определить ячейку, в которой находится нужный текст или какое-нибудь числовое или иное значение. В качестве примера в данной таблице можно будет определить, где именно находится учитель географии.

Для этого нужно сделать следующее.

  1. Перейдите в какую-нибудь ячейку. Вызовите окно вставки функции. После того как найдете нужную, нажмите на кнопку «OK».
  1. В появившемся окне нужно будет указать:
    • искомое значение;
    • просматриваемый массив;
    • тип сопоставления.
  1. В первое поле достаточно написать слово «География», поскольку именно этого преподавателя мы ищем.
  1. Затем нужно выделить столбец с названием предметов (предварительно кликнув на второе поле).
  1. В третьем параметре укажите цифру «0». Для сохранения нажмите на кнопку «OK».
  1. В результате этого мы увидели, что ячейка со словом «География» находится под номером 8 (среди указанного диапазона).

Более подробно про третий параметр можно прочитать на официальном сайте центра поддержки компании Microsoft. Там написано следующее.

Использование условий в VBA

При помощи макросов можно сделать дополнительную проверку различных значений. Например, вы можете узнать, были ли найдены люди по вашему запросу. Разумеется, в данном случае с маленькой таблицей и так всё видно. Но как быть, если данных очень много?

Для этого необходимо выполнить следующие шаги.

  1. По умолчанию вкладка с макросами скрыта от пользователей. Её нужно открыть. Нажмите на пункт меню «Файл».
  1. Перейдите в раздел «Параметры».

Формат записи: =ЕСЛИ (условие; выражение В; выражение С)

Эта запись означает:

1) если условие выполняется, то происходит действие, определенное в выражении В;

2) если условие не выполняется, то происходит действие, оп­ределенное в выражении С.

Выражениями В и С могут быть числовое выражение, функция, ссылка на клетку таблицы или ее имя, заключенный в кавычки текст.

Пример. Пусть у ряда работников имеется задолженность по потребительскому кредиту, которая отражена в диапазоне СЗ:С7 (рис. 9.2). Нужно найти в списке таких работников и удержать с них в счет погашения кредита 10 % от начисленной им сум­мы.

А В С D Е
Ф.И.О. Начислено, тыс. руб. Задолженность по кредитам Удержано, тыс. руб.
Потреби-тельский Жилищ-ный
Иванов =ЕСЛИ(С3>0;В3*0,1;””)
Петров =ЕСЛИ(С4>0;В4*0,1;””)
Кузьмин =ЕСЛИ(С5>0;В5*0,1;””)
Сухов =ЕСЛИ(С6>0;В6*0,1;””)
Николаев =ЕСЛИ(С7>0;В7*0,1;””)

Рис. 9.2. Пример простой логической функции ЕСЛИ

Для нашего примера логическая функция будет иметь следующий вид:

=ЕСЛИ (С3>0; ВЗ *0,1; " ").

Данная логическая функция означает следующее: если задол­женность по потребительскому кредиту больше нуля, то необхо­димо удержать 10 % с начисленной суммы, в противном случае необходимо вывести пробелы.

По диапазону СЗ:С7 отыскиваются работники, у которых есть задолженность по потребительскому кредиту, а в диапазоне ЕЗ:Е7 указывается размер удержанной суммы. В случаях, когда задол­женности по потребительскому кредиту нет, напротив фамилий соответствующих работников в диапазоне ЕЗ:Е7 выводятся пробелы.

В результате в диапазоне ЕЗ:Е7 (рис. 9.3) получим размер удержанной суммы с работников, у которых имеются задолжен­ности по потребительскому кредиту.

Рис. 9 3. Результат выполнения простой логической функции ЕСЛИ

ЛОГИЧЕСКАЯ ФУНКЦИЯ И

Логическая функция И обеспечивает проверку одновременного выполнения связанных этой функцией условий. При выполнении всех условий функция принимает значение ИСТИНА, а если хотя бы одно из условий не выполняется, функция принимает значение ЛОЖЬ.

Формат записи: И (условие #1; условие #2)

Результат является истинным, если два условия истинны. В противном случае результат ложен:

Функция И входит в состав функции ЕСЛИ , которая в этом случае имеет следующий формат:

=ЕСЛИ(И(усл.#1;усл.#2); выражение В; выражение С)

Пример . Найти работников, у которых одновременно име­ются задолженности по потребительскому кредиту и кредиту на жилищное строительство, и удержать от начисленной им суммы 20 % (рис. 9.4).

А В С D Е
Ф.И.О. Начислено, тыс. руб. Задолженность по кредитам Удержано, тыс. руб.
Потребит Жилищн.
Иванов =ЕСЛИ(И(С3>0;D3>0); В3*0,2;””)
Петров =ЕСЛИ(И(С4>0;D4>0); В4*0,2;””)
Кузьмин =ЕСЛИ(И(С5>0;D5>0); В5*0,2;””)
Сухов =ЕСЛИ(И(С6>0;D6>0); В6*0,2;””)
Николаев =ЕСЛИ(И(С7>0;D7>0); В7*0,2;””)

Рис. 9.4. Логическая функция И в сочетании с функцией ЕСЛИ

Для нашего примера логическая функция будет иметь следу­ющий вид:

=ЕСЛИ (И (C3>0;D3>0); В3*0,2; " ")

Данная логическая функция означает следующее: если одно­временно задолженности по потребительскому кредиту и кредиту на жилищное строительство больше нуля, то необходимо удер­жать 20 % с начисленной суммы, в противном случае необходимо вывести пробелы.

Запишем ее в ячейку ЕЗ, а затем скопируем в ячейки Е4:Е7.

В столбцах С и D (рис. 9.5) будет найден только один работник, у которого есть задолженность по двум видам кредита. В столбце Е у него будет удержано 20 % от начисленной суммы. Напротив остальных работников в столбце Е будут выведены пробелы.

Рис.9.5. Результат выполнения логической функции И в сочетании с функцией ЕСЛИ

ЛОГИЧЕСКАЯ ФУНКЦИЯ ИЛИ

Логическая функция ИЛИ обеспечивает проверку выполнения хотя бы одного условия, из всех условий, связанных этой функцией. В этой ситуации функция принимает значение ИСТИНА, а если ни одно условие не выполняется, функция принимает значение ЛОЖЬ.

Данная функция истинна, если истинно хотя бы одно из двух входящих в нее условий. Формат записи: = ИЛИ (условие #1; условие #2)

Лишь в случае, когда оба условия ложны, функция ИЛИ также ложна:

Данная функция используется вместе с логической функцией ЕСЛИ, которая в этом случае имеет следующий формат:

=ЕСЛИ(ИЛИ(усл.#1;усл.#2); выражение В; выражение С)

Пример. Найти работников, у которых имеется задолжен­ность либо по потребительскому кредиту, либо по кредиту на жи­лищное строительство, либо по обоим видам кредита сразу, и удержать с них в счет погашения кредита 10 % от начисленной им сум­мы (рис. 9.6).

А В С D Е
Ф.И.О. Начислено, тыс. руб. Задолженность по кредитам Удержано, тыс. руб.
Потребит. Жилищн.
Иванов =ЕСЛИ(ИЛИ(С3>0;D3>0); В3*0,1;””)
Петров =ЕСЛИ(ИЛИ(С4>0;D4>0); В4*0,1;””)
Кузьмин =ЕСЛИ(ИЛИ(С5>0;D5>0); В5*0,1;””)
Сухов =ЕСЛИ(ИЛИ(С6>0;D6>0); В6*0,1;””)
Николаев =ЕСЛИ(ИЛИ(С7>0;D7>0); В7*0,1;””)

Рис. 9.6. Логическая функция ИЛИ в сочетании с функцией ЕСЛИ

Логическая функция в нашем примере будет иметь вид

=ЕСЛИ (ИЛИ (С3>0; D3>0); В3*0,1; " ")

Данная логическая функция означает следующее: если одно­временно или по отдельности задолженности по потребительско­му кредиту и кредиту на жилищное строительство больше нуля, то необходимо удержать 10 % с начисленной суммы, в противном случае необходимо вывести пробелы.

Запишем ее в ячейку ЕЗ, а затем скопируем в ячейки Е4:Е7.

В столбцах С и D (рис. 9.7) будут найдены работники, у кото­рых есть задолженность хотя бы по одному виду кредита, и в столбце Е с них будет удержано 10 % от начисленной им суммы. Один работник не имеет задолженности по кредиту, тогда в столбце Е напротив его фамилии будут выведены пробелы.

Рис.9.7 . Результат выполнения логической функции ИЛИ
в сочетании с функцией ЕСЛИ

ВЛОЖЕННЫЕ ЛОГИЧЕСКИЕ ФУНКЦИИ ЕСЛИ

Формат записи:

=ЕСЛИ(усл.#1; выражение В; ЕСЛИ(yсл.#2; выражение С; ЕСЛИ (...)))

Число вложенных функций в принципе может быть любое, но общая длина строки не должна быть слишком большой, это за­трудняет ее чтение; кроме того, необходимо следить за тем, чтобы число открытых скобок в точности равнялось числу закрытых скобок.

Пример. Найти работников, у которых имеются одновре­менно задолженности по обоим видам кредита, и удержать от на­численной им суммы 20 % в счет погашения кредитов (рис. 9.8). С остальных работников, имеющих задолженность по какому-ли­бо одному виду кредита, удержать 10 % от начисленной им суммы. Работникам, не имеющим задолженности по кредиту, проставить в графе «Удержано» – «б/к».

В нашем примере логическая функция будет иметь такой вид:

=ЕСЛИ (И (C3>0; D3 >0); В3*0,2; ЕСЛИ (И(C3=0; D3=0); "б/к"; В3*0,1))

Данная логическая функция означает следующее: если одно­временно задолженности по потребительскому кредиту и кредиту на жилищное строительство больше нуля, то необходимо удер­жать 20 % с начисленной суммы, если обе задолженности одновре­менно равны нулю, то необходимо вывести «б/к», в противном случае необходимо удержать 10 % от начисленной суммы.

Запишем ее в ячейку ЕЗ, а затем скопируем в ячейки Е4:Е7 (рис. 9.8).

В столбцах С и D (рис. 9.9) будут найдены работники, у кото­рых есть задолженности по двум видам кредита. С них будет удер­жано 20 % от начисленных им сумм. Напротив фамилии работни­ка, у которого нет задолженности по кредиту, в столбце Е будет выведено «б/к». Наконец, с остальных работников будет удержа­но 10 % от начисленных им сумм.

А В С D Е
Ф.И.О. Начислено, тыс. руб. Задолженность по кредитам Удержано, тыс. руб.
Потребит. Жилищн.
Иванов =ЕСЛИ(И(С3>0;D3>0); В3*0,2; ЕСЛИ(И(С3=0;D3=0); “б/к”); В3*0,1
Петров =ЕСЛИ(И(С4>0;D4>0); В4*0,2; ЕСЛИ(И(С4=0;D4=0); “б/к”); В4*0,1
Кузьмин =ЕСЛИ(И(С5>0;D5>0); В5*0,2; ЕСЛИ(И(С5=0;D5=0); “б/к”); В5*0,1
Сухов =ЕСЛИ(И(С6>0;D6>0); В6*0,2; ЕСЛИ(И(С6=0;D6=0); “б/к”); В6*0,1
Николаев =ЕСЛИ(И(С7>0;D7>0); В7*0,2; ЕСЛИ(И(С7=0;D7=0); “б/к”); В7*0,1

Рис.9.8. Вложенная логическая функция ЕСЛИ

Рис. 9.9 . Результат выполнения вложенной логической функции ЕСЛИ

Логическая функция НЕ преобразует уже имеющееся логическое значение и принимает значение ИСТИНА, если аргумент имеет значение ЛОЖЬ, и наоборот.

Логическая функция ЕСЛИОШИБКА возвращает значение ЕСЛИ_ОШИБКА, если выражение ошибочно. В противном случае функция возвращает само выражение.

Функция ЕСЛИ() , английский вариант IF(), используется при проверке условий. Например, =ЕСЛИ(A1>100;"Бюджет превышен";"ОК!") . В зависимости от значения в ячейке А1 результат формулы будет либо "Бюджет превышен" либо "ОК!".

Функция ЕСЛИ() относится к наиболее часто используемым функциям.

Синтаксис функции

ЕСЛИ(лог_выражение;значение_если_истина;[значение_если_ложь])

Лог_выражение - любое значение или выражение, принимающее значения ИСТИНА или ЛОЖЬ.
=ЕСЛИ(A1>=100;"Бюджет превышен";"ОК!")
Т.е. если в ячейке A1 содержится значение большее или равное 100, то формула вернет ОК!, а если нет, то Бюджет превышен .

В качестве аргументов функции, могут участвовать формулы, например:
=ЕСЛИ(A1>100;СУММ(B1:B10);СУММ(C1:C10))
Т.е. если в ячейке A1 содержится значение >100, то суммирование ведется по столбцу B , а если меньше, то по столбцу С .

Вложенные ЕСЛИ

В EXCEL 2007 в качестве значений аргументов значение_если_истина и значение_если_ложь можно для построения более сложных проверок использовать до 64 вложенных друг в друга функций ЕСЛИ() .
=ЕСЛИ(A1>=100;"Бюджет превышен";ЕСЛИ(A1>=90;"Крупный проект";ЕСЛИ(A1>=50;"Средний проект";"Малый проект ")))

ПРОСМОТР(A1;{0;50;90;100};{"Малый проект";"Средний проект";"Крупный проект";"Бюджет превышен"})

ВПР(A1;A3:B6;2)

Для функции ВПР() необходимо создать в диапазоне A3:B6 таблицу значений:

Если требуется вывести разный текст в случае наличия в ячейке А1 отрицательного значения, положительного значения или 0, то можно записать следующую формулу:

ПРОСМОТР(A1;{-1E+307;0;1E-307};{"<0";"=0";">0"})

или, если требуется вместо текстовых значений вывести формулы, можно использовать ссылки на диапазон ячеек (содержащих формулы)

ПРОСМОТР(A24;{-1E+307;0;1E-307};A27:A29) (см. файл примера )

Опущен третий аргумент [значение_если_ложь]

Третий аргумент функции не обязателен, если его опустить, то функция вернет значение ЛОЖЬ (если условие не выполнено).
=ЕСЛИ(A1>100;"Бюджет превышен")
Если в ячейке A1 содержится значение 1, то вышеуказанная формула вернет значение ЛОЖЬ.

Вместо ИСТИНА или ЛОЖЬ в первом аргументе введено число

Т.к. значение ЛОЖЬ эквивалентно 0, то формулы
=ЕСЛИ(0;"Бюджет превышен";"ОК!")
или (если в ячейке A1 содержится значение 0)
=ЕСЛИ(A1;"Бюджет превышен";"ОК!")

вернут ОК!

Если в ячейке A1 находится любое другое число кроме 0, то формула вернет Бюджет превышен . Такой подход удобен, когда проверяется равенство значения нулю.

Связь функции ЕСЛИ() с другими функциями использующие условия

EXCEL содержит также другие функции, которые можно применять для анализа данных с использованием условий. Например, для подсчета количества вхождений чисел в диапазоне ячеек используется функция СЧЁТЕСЛИ() , а для сложения значений, удовлетворяющих определенным условиям, используется функция СУММЕСЛИ() .

Функция ЕСЛИ() , как альтернативный вариант, может быть также использована для подсчета и сложения значений с использованием условий. Ниже приведены иллюстрирующие примеры.

Пусть данные находятся в диапазоне A6:A11 (см. файл примера)

«развилка».
Разветвляющимся называется такой алгоритм, в котором выбирается один из нескольких возможных вариантов вычислительного процесса. Каждый подобный путь называется ветвью алгоритма .

Признаком разветвляющегося алгоритма является наличие операций проверки условия. Чаще всего для проверки условия используется условный оператор if .

if может использоваться в форме полной или неполной развилки.

В случае неполной развилки если Условие истинно, то БлокОпераций1 выполняется, если Условие ложно, то БлокОпераций1 не выполняется.

В случае полной развилки если Условие истинно, то выполняется БлокОпераций1 , иначе выполняется БлокОпераций2 .

БлокОпераций может состоять из одной операции. В этом случае наличие фигурных скобок, ограничивающих блок, необязательно.

Пример на C :

1
2
3
4
5
6
7
8
9
10
11
12
13
14


#include
int main()
{
int k; // объявляем целую переменную k
printf("k= " ); // выводим сообщение
scanf("%d" , &k); // вводим переменную k
if (k >= 5) // если k>5
printf("%d >= 5" , k); // выводим "ЗНАЧЕНИЕ >= 5"
else // иначе
printf("%d < 5" , k); // выводим "ЗНАЧЕНИЕ < 5"
getchar(); getchar();
return 0;
}


Результат выполнения

Оператор if может быть вложенным.

Пример на C :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

#define _CRT_SECURE_NO_WARNINGS // для возможности использования scanf
#include
#include
int main() {
int key;
system("chcp 1251" );
system("cls" ); // очищаем окно консоли
printf();
scanf("%d" , &key);
if (key == 1) // если key = 1
printf("\n Выбран первый пункт" ); // выводим сообщение
else if (key == 2) // иначе если key = 2
printf("\n Выбран второй пункт" ); // выводим сообщение
else // иначе
printf(); // выводим сообщение
getchar(); getchar();
return 0;
}

Результат выполнения





При использовании вложенной формы оператора if опция else связывается с последним оператором if . Если требуется связать опцию else с предыдущим оператором if , внутренний условный оператор заключается в фигурные скобки:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

#define _CRT_SECURE_NO_WARNINGS // для возможности использования scanf
#include
#include // для использования функции system
int main() {
int key; // объявляем целую переменную key
system("chcp 1251" ); // переходим в консоли на русский язык
system("cls" ); // очищаем окно консоли
printf("Введите номер пункта, 1 или 2: " );
scanf("%d" , &key); // вводим значение переменной key
if (key != 1) { // если key не равен 1
if (key == 2) // если key равен 2
printf("\n Выбран второй пункт" ); // вывод сообщения
} // если key - не 1 и не 2, то ничего не выводится
else // иначе, если key равен 1
printf("\n Выбран первый пункт" ); // вывод сообщения
getchar(); getchar();
return 0;
}


Результат выполнения





Тернарные операции

Тернарная условная операция имеет 3 аргумента и возвращает свой второй или третий операнд в зависимости от значения логического выражения, заданного первым операндом. Синтаксис тернарной операции в языке Си

Условие? Выражение1: Выражение2;


Если выполняется Условие , то тернарная операция возвращает Выражение1 , в противном случае - Выражение2 .

Тернарные операции, как и операции условия, могут быть вложенными. Для разделения вложенных операций используются круглые скобки.

Приведенный выше пример с использованием тернарных операций можно представить в виде

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

#define _CRT_SECURE_NO_WARNINGS // для возможности использования scanf
#include
#include // для использования функции system
int main() {
int key; // объявляем целую переменную key
system("chcp 1251" ); // переходим в консоли на русский язык
system("cls" ); // очищаем окно консоли
printf("Введите номер пункта, 1 или 2: " );
scanf("%d" , &key); // вводим значение переменной key
key == 1 ? printf("\n Выбран первый пункт" ) :
(key == 2 ? printf("\n Выбран второй пункт" ) :
printf("\n Первый и второй пункты не выбраны" ));
getchar(); getchar();
return 0;
}

Оператор ветвления switch (оператор множественного выбора)

Оператор if позволяет осуществить выбор только между двумя вариантами. Для того, чтобы производить выбор одного из нескольких вариантов необходимо использовать вложенный оператор if . С этой же целью можно использовать оператор ветвления switch .

Общая форма записи

switch (ЦелоеВыражение)
{
case Константа1: БлокОпераций1;
break ;
case Константа2: БлокОпераций2;
break ;
. . .
case Константаn: БлокОперацийn;
break ;
default: БлокОперацийПоУмолчанию;
break ;
}

Оператор ветвления switch выполняется следующим образом:

  • вычисляется ЦелоеВыражение в скобках оператора switch ;
  • полученное значение сравнивается с метками (Константами ) в опциях case , сравнение производится до тех пор, пока не будет найдена метка, соответствующая вычисленному значению целочисленного выражения;
  • выполняется БлокОпераций соответствующей метки case ;
  • если соответствующая метка не найдена, то выполнится БлокОперацийПоУмолчанию , описанный в опции default .

Альтернатива default может отсутствовать, тогда не будет произведено никаких действий.
Опция break; осуществляет выход из оператора switch и переход к следующему за ним оператору. При отсутствии опции break будут выполняться все операторы, начиная с помеченного данной меткой и кончая оператором в опции default .

Константы в опциях case должны быть целого типа (могут быть символами).