Vba excel. округление чисел (особенности)

Функции из библиотеки Math

Модуль необходим в Python. Он предоставляет пользователю широкий функционал работы с числами. Для обработки алгоритмов сначала проводят импорт модуля.

math.ceil

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

Любая дробь находится между двумя целыми числами. Например, 2.3 лежит между 2 и 3. Функция ceil() определяет большую сторону и возводит к нему результат преобразования. Например:

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

math.floor

действует противоположно — округляет дробное значение до ближайшего целого, которое меньше или равно исходному. Округление происходит в меньшую сторону (вниз):

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

math.trunc

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

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

Округление числа до заданного кратного

Иногда может потребоваться округлить значение до кратного заданному числу. Например, допустим, что компания поставляет товары в ящиках по 18 единиц. С помощью функции ОКРУГЛТ можно определить, сколько ящиков потребуется для поставки 204 единиц товара. В данном случае ответом является 12, так как число 204 при делении на 18 дает значение 11,333, которое необходимо округлить вверх. В 12-м ящике будет только 6 единиц товара.

Может также потребоваться округлить отрицательное значение до кратного отрицательному или дробное — до кратного дробному. Для этого также можно применять функцию ОКРУГЛТ.

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

Обозначения

Для краткого определения параметров формата с фиксированной точкой использовались различные обозначения. В следующем списке f представляет количество дробных битов, m количество величин или целочисленных битов, s количество знаковых битов и b общее количество битов.

  • Первоначально язык программирования COBOL поддерживал десятичную фиксированную точность с произвольным размером и десятичное масштабирование, формат которого был указан в директиве «графически» . Например, указано шестизначное десятичное целое число с двумя знаками десятичной дроби.
  • Конструкция p f использовалась в языке программирования PL / I, чтобы указать тип двоичных данных со знаком с фиксированной точкой с p полными битами (не включая знак) с f битами в дробной части; то есть p +1 битовое целое число со знаком с коэффициентом масштабирования 1/2 f . Последние могут быть как положительными, так и отрицательными. Можно указать вместо и вместо базы 10.
  • В языке программирования Ada числовой тип данных может быть определен, например, что означает представление с фиксированной запятой, состоящее из двоичного целого числа со знаком в дополнительном формате до двух с 7 подразумеваемыми дробными битами (с коэффициентом масштабирования 1/128) и всего не менее 15 бит (обеспечивая фактический диапазон от -128,00 до почти +128,00).
  • Q обозначение было определено Texas Instruments . Один записывает f, чтобы указать двоичное значение с фиксированной точкой со знаком с f битами дроби; например, задает целое число со знаком в виде дополнения до двух с коэффициентом масштабирования 1/2 15 . Код m f дополнительно указывает, что число имеет m бит в целой части значения, не считая бит знака. Таким образом, будет описан двоичный формат с фиксированной точкой с 1 целым битом и 30 дробными битами, который может быть сохранен как 32-битное целое число с дополнением до 2 с коэффициентом масштабирования 1/2 30 . Аналогичное обозначение использовалось ARM , за исключением того, что они подсчитывают знаковый бит в значении m ; поэтому тот же формат, что и выше, будет указан как .
  • Обозначение m использовалось для обозначения фиксированного двоичного формата с m битами в целой части; остальная часть слова — дробные биты. Например, максимальное и минимальное значения, которые могут быть сохранены в числе со знаком, составляют ≈32767.9999847 и -32768.0 соответственно.
  • Компания VisSim использовала m b для обозначения двоичного значения с фиксированной точкой с общим числом b бит и m битами в целой части; то есть b -битное целое число с коэффициентом масштабирования 1/2 bm . Таким образом, будет означать 16-битное число с 1 битом в целой части и 15 в дробной.
  • В Руководстве пользователя PS2 GS ( ) используется обозначение s m f , где s указывает наличие (0 или 1) знакового бита. Например, представляет собой 8-битовое целое число без знака с коэффициентом масштабирования 1/2 3 .
  • Язык программирования LabVIEW использует обозначение s b m для определения параметров чисел с фиксированной запятой FXP. Компонент s может иметь значение «+» или «±», означающее либо беззнаковое, либо дополнительное знаковое число с дополнением до 2, соответственно. Компонент b — это общее количество битов, а m — количество битов в целой части.

Округление натуральных чисел

Натуральные числа — это числа, которые мы используем, чтобы посчитать что-то конкретное, осязаемое. Вот они: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 и так далее.

Особенности натуральных чисел:

  • Наименьшее натуральное число: единица (1).
  • Наибольшего натурального числа не существует. Натуральный ряд бесконечен.
  • У натурального ряда каждое следующее число больше предыдущего на единицу: 1, 2, 3, 4, 5, 6, 7.

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

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

Правила округления чисел:

  1. Подчеркнуть цифру разряда, до которого надо округлить число.
  2. Отделить все цифры справа от этого разряда вертикальной чертой.
  3. Если справа от подчеркнутой цифры стоит 0,1, 2, 3 или 4 — все цифры, которые отделены справа, заменяем нулями. Цифру разряда, до которой округляли, оставляем без изменений.
  4. Если справа от подчеркнутой цифры стоит 5, 6, 7, 8 или 9 — все цифры, которые отделены справа, заменяем нулями. К цифре разряда, до которой округляли, прибавляем 1.

Давайте рассмотрим, как округлить число 57 861 до тысяч. Выполним первые два пункта из правил округления.

После подчеркнутой цифры стоит 8, значит к цифре разряда тысяч (в данном случае 7) прибавим 1. На месте цифр, отделенных вертикальной чертой, ставим нули.

Теперь округлим 756 485 до сотен:

Округлим число 123 до десятков: 123 ≈ 120.

Округлим число 3581 до сотен: 3581 ≈ 3580.

Если в разряде, до которого производится округление, стоит цифра 9 и необходимо ее увеличить на единицу — в этом разряде записывается цифра 0, а цифра слева в соседнем старшем разряде увеличивается на 1.

Примеры:

  • как округлить число 697 до десятков — 697 ≈ 700;
  • как округлить число 980 до сотен — 980 ≈ 1000.

Иногда уместно записать округленный результат с сокращениями «тыс.» (тысяча), «млн.» (миллион) и «млрд.» (миллиард). Вот так:

  • 7 882 000 = 7 882 тыс.
  • 1 000 000 = 1 млн.

Полученные результаты :

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

Предположим, что 6 знаков после запятой считаются достаточной точностью для вычислений с плавающей запятой / двойным числом (произвольное решение для конкретного приложения) с использованием следующей функции / метода округления:

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

За , результат как и ожидалось.

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

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

За , результат . Округление до восьмого знака после запятой в качестве первого шага, т.е. , заботится об одном неприятном случае, когда вычисленный результат с плавающей запятой вычисляется как , но внутренне представлен как .

Наконец, пример из вопроса … приводит к .

Этот подход можно обобщить следующим образом:

где N — точность, которую необходимо поддерживать для всех промежуточных вычислений с плавающей запятой / двойным. Это также работает с отрицательными значениями. Я не знаю, верен ли этот подход математически для всех возможностей.

… или можно сделать это по старинке без каких-либо библиотек:

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

эта функция принимает число и точность и возвращает округленное число

он преобразует число с плавающей запятой в int, сдвигая точку влево и проверяя условие больше пяти.

Редактор-автор

Полученные результаты :

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

Предположим, что 6 знаков после запятой считаются достаточной точностью для вычислений с плавающей запятой / двойным числом (произвольное решение для конкретного приложения) с использованием следующей функции / метода округления:

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

За , результат как и ожидалось.

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

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

За , результат . Округление до восьмого знака после запятой в качестве первого шага, т.е. , заботится об одном неприятном случае, когда вычисленный результат с плавающей запятой вычисляется как , но внутренне представлен как .

Наконец, пример из вопроса … приводит к .

Этот подход можно обобщить следующим образом:

где N — точность, которую необходимо поддерживать для всех промежуточных вычислений с плавающей запятой / двойным. Это также работает с отрицательными значениями. Я не знаю, верен ли этот подход математически для всех возможностей.

… или можно сделать это по старинке без каких-либо библиотек:

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

эта функция принимает число и точность и возвращает округленное число

он преобразует число с плавающей запятой в int, сдвигая точку влево и проверяя условие больше пяти.

Способы

Под округлением каждый из нас может понимать что-то свое, поэтому давайте рассмотрим, какие варианты есть в Excel:

  1. Простое отбрасывание дробной части. Например, у нас есть число 12,3456, мы же хотим видеть только десятые и сотые доли, большая точность нас не интересует. Отбрасыванием дробной части мы получим результат 12,34. Такой способ часто используется для красоты, чтобы не перегружать таблицу и себя лишними знаками. В таком случае для решения задачи можно использовать формат ячеек.
  2. Математическое округление. В данном случае часть знаков после запятой отбрасывается, но при этом учитывается следующая цифра после значимого для нас разряда. Мы смотрим, она больше 5 или меньше. Например, у нас есть число 12,57. Мы хотим округлить его до десятых. Тогда по правилам математики мы получаем 12,6. То есть мы увеличили десятые доли на 1, потому что сотые больше 5. Если бы мы округляли 12,52, то получили бы 12,5.
  3. Округление до ближайшего большего или меньшего числа, так называемое округление “вверх” и округление “вниз” соответственно. Например, у нас есть исходные данные: 12,75, 12,31, 11,89, которые мы хотим преобразовать в целые величины. Если мы используем округление “вниз”, то получим 12, 12, 11. Если округляем в большую сторону, то получим 13, 13, 12.
  4. Округление до десятков, сотен, тысяч и так далее. Этот вариант бывает полезен, когда нам нужны приблизительные вычисления, без детализации.
  5. Округление до ближайшего четного и нечетного значения.
  6. Округление до ближайшего кратного какой-то величине числа. Например, у нас есть 124 конфеты, а в 1 коробку вмещается 13 конфет. И мы хотим понять, сколько конфет у нас разместится в коробках по 13 штук. Тогда мы будем округлять 124 до меньшего целого числа кратного 13 и получим результат 117.

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

Более 100 крутых уроков, тестов и тренажеров для развития мозга

Начать развиваться

Проверка: isFinite и isNaN

Помните эти специальные числовые значения?

  • (и ) — особенное численное значение, которое ведёт себя в точности как математическая бесконечность ∞.
  • представляет ошибку.

Эти числовые значения принадлежат типу , но они не являются «обычными» числами, поэтому есть функции для их проверки:

  • преобразует значение в число и проверяет является ли оно :

    Нужна ли нам эта функция? Разве не можем ли мы просто сравнить ? К сожалению, нет. Значение уникально тем, что оно не является равным ни чему другому, даже самому себе:

  • преобразует аргумент в число и возвращает , если оно является обычным числом, т.е. не :

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

Помните, что пустая строка интерпретируется как во всех числовых функциях, включая.

Сравнение

Существует специальный метод Object.is, который сравнивает значения примерно как , но более надёжен в двух особых ситуациях:

  1. Работает с : , здесь он хорош.
  2. Значения и разные: , это редко используется, но технически эти значения разные.

Во всех других случаях идентичен .

Этот способ сравнения часто используется в спецификации JavaScript. Когда внутреннему алгоритму необходимо сравнить 2 значения на предмет точного совпадения, он использует (Определение ).

Функция SQL ROUND

Функция SQL ROUND(результат_вычислений, n) округляет результат вычислений до n-го знака после запятой.
Округление производится по правилам арифметики.

Если n — отрицательное число (−n), то округление происходит до n-го знака перед запятой. Таким образом,
с помощью функции ROUND можно получить и целое число как результат округления.

Пример 1. В базе данных фирмы есть таблица Staff, содержащая
данные о сотрудниках фирмы. Выведем индивидуальные размеры заработной платы сотрудников:

SELECT Name, Salary
FROM STAFF

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

Name Salary
Sanders 18357.5
Pernal 15430.0
Marenghi 17506.8
Doctor 12322.8
Factor 16228.7
Junkers 16232.8
Moonlight 21500.6
Aisen 19540.7
MacGregor 15790.8

Для вычисления среднего размера заработной платы пишем запрос:

SELECT AVG(Salary)
FROM STAFF

Получим следующий результат:

AVG(Salary)
16990.06662326389

Для отчётов результат с таким числом знаков после запятой не годится. Округлим результат до второго
знака после запятой с помощью функции ROUND:

SELECT ROUND(AVG(Salary),2)
AS Avg_Salary
FROM STAFF

Результат будет следующим:

Avg_Salary
16990.07

Пример 2. Теперь округлим результат до первого знака до запятой,
применяя в функции ROUND параметр минус единица:

SELECT ROUND(AVG(Salary),−1)
AS Avg_Salary
FROM STAFF

Результат будет следующим:

Avg_Salary
16990

Сместим округление ещё на один знак влево и применим в функции ROUND параметр минус 2:

SELECT ROUND(AVG(Salary),−2)
AS Avg_Salary
FROM STAFF

Результат будет следующим:

Avg_Salary
17000

Функция SQL ROUND может применяться ещё и с третьим необязательными параметром
(кроме MySQL). Если этим параметром будет 1, то округление производиться не будет, просто в результате
будет оставлено столько знаков после запятой, сколько указано во втором параметре.

Пример 3. Оставить в результате вычислений средней заработной
платы два знака после запятой, не производя округления. Применяем функцию ROUND с тремя параметрами:

SELECT ROUND(AVG(Salary),2,1)
AS Avg_Salary
FROM STAFF

Результат будет следующим:

Avg_Salary
16990.06

Функция MySQL TRUNCATE

В MySQL аналогом разновидности функции ROUND без округления результата является функция TRUNCATE.
Она, как и ROUND в общем случае имеет два параметра: результат вычислений и число знаков после запятой.

Пример 4. Условие то же, что в примере 3, но в MySQL. Применяем
функцию TRUNCATE:

SELECT TRUNCATE(AVG(Salary),2)
AS Avg_Salary
FROM STAFF

Получим результат без округления, как в предыдущем примере:

Avg_Salary
16990.06

Операторы сравнения чисел и строк

Операторы сравнения чисел и строк представлены операторами, состоящими из одного или двух математических знаков равенства и неравенства:

  • < – меньше;
  • <= – меньше или равно;
  • > – больше;
  • >= – больше или равно;
  • = – равно;
  • <> – не равно.

Синтаксис:

1

Результат=Выражение1ОператорВыражение2

  • Результат – любая числовая переменная;
  • Выражение – выражение, возвращающее число или строку;
  • Оператор – любой оператор сравнения чисел и строк.

Если переменная Результат будет объявлена как Boolean (или Variant), она будет возвращать значения False и True. Числовые переменные других типов будут возвращать значения 0 (False) и -1 (True).

Операторы сравнения чисел и строк работают с двумя числами или двумя строками. При сравнении числа со строкой или строки с числом, VBA Excel сгенерирует ошибку Type Mismatch (несоответствие типов данных):

1
2
3
4
5
6
7
8
9
10

SubPrimer1()

On ErrorGoToInstr

DimmyRes AsBoolean
‘Сравниваем строку с числом

myRes=“пять”>3

Instr

IfErr.Description<>“”Then

MsgBox“Произошла ошибка: “&Err.Description

EndIf

EndSub

Сравнение строк начинается с их первых символов. Если они оказываются равны, сравниваются следующие символы. И так до тех пор, пока символы не окажутся разными или одна или обе строки не закончатся.

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

1
2
3

myRes=“семь”>“восемь”‘myRes = True

myRes=“Семь”>“восемь”‘myRes = False

myRes=Len(“семь”)>Len(“восемь”)‘myRes = False

Оператор Round

А вы знаете, что при использовании для округления чисел в VBA Excel оператора Round, вы можете получить совершенно не тот результат, который ожидали? И ведь это действительно так!

Скопируйте в модуль VBA следующую процедуру и запустите ее выполнение:

1
2
3
4
5
6
7
8
9
10
11

SubTest_1()

Dima1 AsSingle,a2 AsSingle,a3 AsSingle,a4 AsSingle

a1=Round(1.5,)

a2=Round(2.5,)

a3=Round(3.5,)

a4=Round(4.5,)

MsgBox»Round(1.5, 0)=»&a1&vbNewLine&_

«Round(2.5, 0)=»&a2&vbNewLine&_

«Round(3.5, 0)=»&a3&vbNewLine&_

«Round(4.5, 0)=»&a4

EndSub

В результате вы получите это:

Удивительно, не правда ли? Как же так получилось?
Дело в том, что оператор Round осуществляет «бухгалтерское» (или «банковское») округление, которое призвано при большом количестве таких операций свести погрешность к минимуму. Это достигается за счет того, что оператор Round использует при округлении правило, отличное от того, которое мы знаем еще со школы, когда округляемое число увеличивается на единицу, если отбрасываемое число равно пяти. Суть округления с помощью оператора Round состоит в том, что если перед отбрасываемой пятеркой стоит нечетная цифра, то она увеличивается на единицу (округление вверх), а если перед ней стоит четная цифра, то она не увеличивается (округление вниз).

Еще можно сформулировать «бухгалтерское» округление так: при отбрасывании пятерки число округляется к ближайшему четному

Обратите внимание, что в результатах нашего примера все полученные числа — четные.
Проверим погрешность:

  1. Сумма исходных чисел: 1.5 + 2.5 + 3.5 +4.5 = 12
  2. Сумма округленных чисел: 2 + 2 + 4 + 4 = 12

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

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

Для операции округления в Python есть встроенные функции — и

round

— округляет число (number) до ndigits знаков после запятой. Это стандартная функция, которая для выполнения не требует подключения модуля math.

По умолчанию операция проводится до нуля знаков — до ближайшего целого числа. Например:

Чтобы получить целый показатель, результат преобразовывают в .

Синтаксически функция вызывается двумя способами.

  1. — это округление числа до целого, которое расположено ближе всего. Если дробная часть равна 0,5, то округляют до ближайшего четного значения.
  2. — данные округляют до знаков после точки. Если округление проходит до сотых, то равен «2», если до тысячных — «3» и т.д.

int

— встроенная функция, не требующая подключения дополнительных модулей. Её функция — преобразование действительных значений к целому путем округления в сторону нуля. Например:

Для положительных чисел функция аналогична функции , а для отрицательных — аналогично . Например:

Чтобы число по int преобразовать по математическим правилам, нужно выполнить следующие действия.

  1. Если число положительное, добавить к нему 0,5;
  2. Если число отрицательное, добавить -0,5.

Синтаксически преобразование оформляется так:

Формат чисел через контекстное меню

Нужную степень отображаемого на экране округления можно изменить и другим способом – через контекстное меню ячейки.

  1. Выделяем нужную ячейку (или область, состоящую из нескольких ячеек) и кликаем по ней правой кнопкой мыши. В контекстном меню выбираем пункт “Формат ячеек…”.
  2. Откроется окно, в котором в верхнем меню переходим во вкладку “Число” (по умолчанию должна быть установлена именно эта вкладка). В списке слева выбираем “Числовой” формат. Справа находим надпись “Число десятичных знаков”, рядом с которым есть текстовое поле для выбора количества знаков дробной части. Можно ввести его самостоятельно или дойти до нужного значения путем нажатия на стрелки вверх или вниз.
  3. Далее нажимаем на “ОК”, после чего изменения вступят в силу.

Примечание: Также можно поставить галочку напротив надписи “Разделитель групп разрядов”, чтобы при отображении больших чисел разграничить группы разрядов.

В меньшую и большую сторону

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

До дробных частей

Чтобы округлить в меньшую или большую сторону, есть универсальные функции “ОКРУГЛВНИЗ” и “ОКРУГЛВВЕРХ”. Они позволяют делать преобразования с точностью до целых и дробных частей.

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

Давайте посмотрим на примере работу этих двух команд.

До целых

Есть еще один способ округлить в меньшую или большую сторону. Для этого нам понадобятся функции “ОКРВНИЗ” и “ОКРВВЕРХ”. Они применяются для получения целочисленного результата.

Второй аргумент показывает, до какого разряда мы округляем:

  • 10 – до десятков;
  • 100 – до сотен;
  • 1 000 – до тысяч и т. д.

Показываю на примере.

Округление “вниз” до единиц можно заменить функцией “ЦЕЛОЕ”, у которой есть единственный аргумент – число. Результат будет таким же, как при использовании “ОКРВНИЗ”.

Округлить в большую сторону до ближайшего четного или нечетного целого значения помогают действия “ЧЁТН” и “НЕЧЁТ”. Пример использования одного из них вы видите на скриншоте.

До целых с учетом кратности

Помните пример с конфетами, который был в начале статьи? Сейчас мы научимся округлять до ближайшего кратного какой-то величине значения. Для этого служат 2 функции: “ОКРВНИЗ.МАТ” и “ОКРВВЕРХ.МАТ”. Первая уменьшает исходную величину, а вторая соответственно увеличивает.

Например, у нас есть число 124, и мы хотим округлить его до ближайшего большего кратного 5 значения. Тогда пишем в ячейке: “=ОКРВВЕРХ.МАТ(124;5)” и в результате получаем 125.

А если один из параметров не заполнен?

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

Что будет в результате?

Насколько это красиво и удобно – судить вам. Думаю, лучше все же использовать оба аргумента.

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

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

Обратите также внимание,
что полученные логические значения в ячейке всегда выравниваются по центру. Это
видно и на скриншоте выше

Более того, если вам
действительно нужно только проверить какое-то условие и получить «Истина» или «Ложь»
(«Да» или «Нет»), то вы можете использовать следующую конструкцию –

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

Рассмотрим, как ещё можно
использовать функцию ЕСЛИ.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: