Чем заменить функцию если в excel
Перейти к содержимому

Чем заменить функцию если в excel

  • автор:

Чем заменить функцию если в excel

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

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

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

Как или чем заменить функцию ЕСЛИ в формулах Excel

Функция ЕСЛИ позволяет решать большинство задач в Excel, вычисления в которых выполняются не последовательно, шаг за шагом, а с некоторыми ветвлениями. Например, был определен некоторый коэффициент, от значения которого полностью зависит ход дальнейших расчетов. Кроме того, часто требуется выполнить какую-либо операцию над диапазоном данных (суммированием, вычисление среднего значения и т. д.) с использованием какого-либо критерия. Например, найти сумму чисел из диапазона, значения которых не менее 10.

Существует как минимум три способа заменить использование функции ЕСЛИ:

  1. Заменить данную функцию другой встроенной функцией Excel, при этом необязательно логической. Например, одну и ту же задачу можно решить тремя разными способами (с использованием формулы ЕСЛИ, с помощью СУММЕСЛИ или без логических функций вовсе), что будет показано в одном из примеров.
  2. Использовать простейшие логические конструкции в связке с арифметическими действиями.
  3. Создание пользовательских функций с помощью VBA.

Примечание: синтаксис функции ЕСЛИ достаточно прост, поэтому избегать ее использования при решении несложных задач не нужно. Многие формулы с использованием ЕСЛИ выглядят просто и наглядно. Важными критериями итоговых формул является их краткость и понятность. Длинные формулы с большим количеством вложенных функций могут ввести в недоумение других пользователей или в будущем самих их создателей. Если критериев проверки слишком много, лучше создать пользовательскую функцию на VBA, тщательно протестировав ее поведение в различных ситуациях (насколько корректны результаты при различных условиях).

Примеры замены функции ЕСЛИ в Excel с помощью формул

Пример 1. В таблице Excel хранятся данные о доходах компании за каждый месяц (обозначен номером) прошедшего года. Реализовать алгоритм расчета суммы доходов за любых несколько месяцев года без использования функции ЕСЛИ в Excel.

Вид исходной таблицы данных:

Пример 1.

Для расчетов суммы доходов за любой из возможных периодов в ячейке C3 запишем следующую формулу:

Описание аргументов функции СМЕЩ:

  • A6 – ячейка, относительно которой ведется отсчет;
  • ПОИСКПОЗ(A3;A7:A18;0) – функция, возвращающая ячейку, с которой будет начат отсчет номера месяца, с которого ведется расчет суммы доходов за определенный период;
  • 1 – смещение по столбцам (нас интересует сумма доходов, а не номеров месяцев);
  • ПОИСКПОЗ(B3;A7:A18;0)-ПОИСКПОЗ(A3;A7:A18;0)+1 – выражение, определяющее разность между указанными начальной и конечной позициями в таблице по вертикали, возвращающее число ячеек рассматриваемого диапазона;
  • 1 – ширина рассматриваемого диапазона данных (1 ячейка).

Функция СУММ принимает в качестве аргумента диапазон ячеек, возвращаемый функцией СМЕЩ, и вычисляет сумму содержащихся в них значений.

Для примера приведем результат расчетов с 3 по 7 месяц:

результат расчетов.

Для сравнения, рассмотрим вариант расчета с использованием функции ЕСЛИ. Формула, которая приведена ниже, должна быть выполнена в качестве формулы массива (для ввода CTRL+SHIFT+Enter), а для определения суммы доходов для различных периодов ее придется видоизменять:

Диапазон ячеек, для которых будет выполняться функция СУММ, определяется двумя условиями, созданными с использованием функций ЕСЛИ. В данном случае расчет производится для месяцев с 3 по 7 включительно. Результат:

с использованием функции ЕСЛИ.

Как видно, полученные результаты совпадают. Несмотря на кажущуюся сложность формулы с использованием функции СМЕЩ, она является более простой, наглядной и не требует внесения изменений для каждого нового расчета.

Формулы решений при нескольких условиях без функции ЕСЛИ

Пример 2. В таблице Excel содержатся значения вероятностей попадания в цель для стрелков из трех различных видов оружия. Рассчитать вероятность попадания в цель хотя бы из одного оружия для каждого стрелка. В некоторых ячейках содержатся ошибочные данные (значения взяты не из диапазона допустимых значений для вероятности). Для таких случаев рассчитать вероятность как 0. При условии, что в формуле нельзя использовать логическую функцию ЕСЛИ.

Вид исходной таблицы:

Пример 2.

Для расчета вероятности используем формулу P(A)=1-q1q2q3, где q1,q2 и q3 – вероятности промахов (событий, противоположным указанным, то есть попаданию в цель). Используем следующую формулу:

Результаты расчета для всех стрелков:

Формулы без функции ЕСЛИ.

Таким образом, расчет производится только в том случае, если все три ячейки A, B и C содержат корректные данные. Иначе будет возвращен результат 0.

Пример кода макроса как альтернативная замена функции ЕСЛИ

Пример 3. В МФО выдают кредиты на срок от 1 до 30 дней на небольшие суммы под простые проценты (сумма задолженности на момент выплаты состоит из тела кредита и процентов, рассчитанных как произведение тела кредита, ежедневной процентной ставки и количества дней использования финансового продукта). Однако значение процентной ставки зависит от периода, на который берется кредит, следующим образом:

  • От 1 до 5 дней – 1,7%;
  • От 6 до 10 дней – 1,9%;
  • От 11 до 15 дней – 2,2%;
  • От16 до 20 дней – 2,5;
  • Свыше 21 дня – 2,9%.

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

Вид исходной таблицы данных:

Пример 3.

Вместо проверки множества условий с использованием функции ЕСЛИ напишем простую пользовательскую функцию с помощью макроса (ALT+F11). Исходный код пользовательской функции MFODebt:

Public Function MFODebt(amount As Double , period As Double ) As Double
Dim interest As Double
Select Case period
Case 1 To 5
interest = 0.017
Case 6 To 10
interest = 0.019
Case 11 To 15
interest = 0.022
Case 16 To 20
interest = 0.025
Case 21 To 30
interest = 0.029
End Select
MFODebt = amount + amount * interest * period
End Function

Для определения размера процентной ставки используется простая и наглядная конструкция Select Case. Воспользуемся созданной функцией для расчетов:

«Растянем» формулу на остальные ячейки и получим следующие результаты:

MFODebt.

Как видно, формулы с большим числом проверок лучше реализовывать в виде пользовательских функций.

  • Excel Formula Examples
  • Создать таблицу
  • Форматирование
  • Функции Excel
  • Формулы и диапазоны
  • Фильтр и сортировка
  • Диаграммы и графики
  • Сводные таблицы
  • Печать документов
  • Базы данных и XML
  • Возможности Excel
  • Настройки параметры
  • Уроки Excel
  • Макросы VBA
  • Скачать примеры

Функция ВПР как замена нескольких условий функции ЕСЛИ

Допустим нам надо применить прогрессивную скидку в зависимости от суммы заказа.

Можно было бы применить несколько условий вложенных функций ЕСЛИ, но рассмотрим другой пример, в котором формула будет намного короче.

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

Обязательно нужно прописать первую строчку, иначе наша формула с заказами меньше 15000 руб будет выдавать ошибку.

Условия для ВПР

Для построения формулы встанем в нужную ячейку и нажмем на кнопочку Вставить функцию (слева от строки формул). В появившемся окне в поле Категория выбрать Ссылки и массивы. В поле Выберете функцию выбрать ВПР.

Где найти функцию ВПР

Появится окно с аргументами функции ВПР.

Искомое значение: Сумма заказа по которой будет определятся скидка. (В2)

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

  1. Таблица должна быть отсортирована по возрастанию.
  2. По 1-му столбцу таблицы будет определяться искомое значение.
  3. Для того, чтобы протягивать формулы на следующие заказы, диапазон таблицы не должен изменяться, поэтому для этого поля делаем ссылки абсолютными.
    Для этого мышкой выделяем диапазон таблицы (F2:G8) и начинаем нажимать клавишу F4, пока диапазон не изменится на $F$2:$G$8. Если у вас ноутбук, нужно одновременно нажать на клавиши Fn+F4. Знак доллара можно ввести и вручную.

Номер столбца: Столбец из которого необходимо вернуть значения. Отсчет будет вестись, начиная с первого столбца, по которому будет определяться искомое значение.

Интервальный просмотр: Логическое значение по которому будет определяться точно(ЛОЖЬ или 0) или приблизительно (ИСТИНА или 1) должен производится поиск в первом столбце. Если этот аргумент отсутствует, Excel будет определять приблизительные значения.

В нашем случае нужны приблизительные значения, так как первый столбец указывает не точную сумму, а диапазон (от 15 000 до 20 000, от 20 000 до 25 000 и т.д.). Поэтому это поле можно не заполнять или написать ИСТИНА или 1.

Построение функции ВПР

Далее протягиваем формулу для следующих заказов.

Протягивание функции ВПР

Мы вывели скидку в отдельную колонку. Также можно функцию ВПР сразу использовать в формуле и выводить уже готовый результат.

Для этого в ячейке пропишем

ВПР в составе формулы

Автор Alfi Опубликовано 13.02.2019 13.02.2019 Рубрики Функции

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

ЗАМЕНИТЬ, ЗАМЕНИТЬБ (функции ЗАМЕНИТЬ, ЗАМЕНИТЬБ)

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще. Меньше

В этой статье описаны синтаксис формулы и использование ЗАМЕНИТЬ и ЗАМЕНИТЬБ в Microsoft Excel.

Описание

Функция ЗАМЕНИТЬ заменяет указанное число символов текстовой строки другой текстовой строкой.

Функция ЗАМЕНИТЬ заменяет часть текстовой строки, соответствующую заданному числу байтов, другой текстовой строкой.

  • Эти функции могут быть доступны не на всех языках.
  • Функция ЗАМЕНИТЬ предназначена для языков с однобайтовой кодировкой, а ЗАМЕНИТЬБ — для языков с двухбайтовой кодировкой. Язык по умолчанию, заданный на компьютере, влияет на возвращаемое значение следующим образом.
  • Функция ЗАМЕНИТЬ всегда считает каждый символ (одно- или двухбайтовый) за один вне зависимости от языка по умолчанию.
  • Функция ЗАМЕНИТЬБ считает каждый двухбайтовый символ за два, если включена поддержка ввода на языке с двухбайтовой кодировкой, а затем этот язык назначен языком по умолчанию. В противном случае функция ЗАМЕНИТЬБ считает каждый символ за один.

К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.

Синтаксис

Аргументы функций ЗАМЕНИТЬ и ЗАМЕНИТЬБ описаны ниже.

  • Стар_текст Обязательный. Текст, в котором требуется заменить некоторые символы.
  • Начальная_позиция Обязательный. Позиция символа в старом тексте, начиная с которого требуется выполнить замену новым текстом.
  • Число_знаков Обязательный. Число символов в старом тексте, которые требуется ЗАМЕНИТЬ новым текстом.
  • Число_байтов Обязательный. Число байтов старого текста, который требуется ЗАМЕНИТЬБ новым текстом.
  • Нов_текст Обязательный. Текст, который заменит символы в старом тексте.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *