Работа с таблицами Excel
Округление результатов вычислений
Существует ряд задач, для решения которых нет необходимости оперировать с большим количеством знаков после запятой. В частности, для работы с денежными единицами достаточно двух десятичных разрядов. В таком случае в определенных операциях (как промежуточных, так и производящих итоговые вычисления) необходимо выполнить округление результатов. Это может быть округление как до второго десятичного знака (скажем, до копеек, центов и т. д.), так и до целых значений. С этой целью используется функция округления, которая вводится посредством диалогового окна Мастер функций.
Рис. 2.28. Панель функции «ОКРУГЛ»
Данная функция округляет число до указанного количества десятичных разрядов. Синтаксис ее следующий:
ОКРУГЛ(число; количество_цифр) |
здесь число — это округляемое число, количество_цифр — это количество десятичных разрядов, до которого нужно округлить число.
Например, для операции извлечения корня в нашем примере формула округления будет иметь такой вид:
=ОКРУГЛ(В10/\(1/С10);2) |
Первый аргумент, В10/\(1/С10), показывает, для какой операции выполняется округление, а второй (цифра 2) определяет количество десятичных разрядов. В нашем случае вычисления осуществляются с точностью до второго знака после запятой (например, до копеек). Однако округление необходимо производить на определенном этапе расчетов.
ПРИМЕР: На таможню приходит товар стоимостью 3 цента за единицу в количестве 1000 штук. Курс обмена — 29,31 руб./$, а все таможенные платежи (без учета НДС) составляют 29,45%. База начисления для таможенных платежей будет равна цене в долларах, умноженной на курс доллара и количество единиц товара:
$0,03 * 29,31 * 1000 = 879,30 руб.
При умножении базы начисления на ставку таможенного сбора получается сумма, которой быть не может (так как не существует пока в мире десятых и сотых долей копеек при перечислении их через банк):
879,30 руб. * 29,45% = 258,9539 руб.
Если и далее производить расчеты без округления размера таможенного платежа, то можно получить стоимость партии товара, которая равна стоимости товара плюс таможенные платежи:
879,30 руб. + 258,9539 руб. = 1138,25385 руб.
Таким образом, цена единицы товара будет следующей:
1138,25385 руб. : 1000 шт. = 1,138254 руб.
Полученные неправильные результаты представлены в табл. 2.1.
Цена за единицу ($) | Количество (штук) | Курс (руб./$) | Таможенный платеж (%) | Таможенный платеж (руб.) | Итого стоимость партии (руб.) | Цена за единицу (руб.) |
0,03 | 1000 | 29,31 | 29,45% | 258,9539 | 1138,25385 | 1,138254 |
Таблица 2.1. Пример неправильного расчета таможенных платежей
Поэтому некоторые значения следует округлить с точностью до копеек. А сумма таможенного платежа должна вычисляться по формуле
=ОКРУГЛ(цена в долларах х на курс доллара х количество;2) |
Цифра 2 означает, что выполняется округление с точностью до второго знака (то есть до копеек).
Таким же образом можно округлить и стоимость партии товара, в результате чего получится сумма, равная 1138,25 руб. Однако операция округления цены за единицу товара может привести к нежелательным последствиям. Это зависит от того, как происходит расчет цены. Если округлить цену товара до копеек, исходя из стоимости партии товара:
=ОКРУГЛ(1138,25/1000;2) |
то результат будет равен 1,14 руб. Но получается парадокс: произведя обратный расчет, мы получим, что партия стоит 1,14 * 1000 =1140 руб. Откуда-то взялись лишние 2 рубля. Эти 2 рубля могут значительно усложнить ведение бухгалтерского учета, если в бухгалтерской программе не предусмотрена возможность задания разрядности денежной единицы при некоторых операциях. До какого же знака целесообразно задать точность в данном примере?
В нашем случае точность округления должна быть равна разрядности копеек (2 знака после запятой) плюс разрядность числа, определяющего объем партии (у нас 3 разряда). Таким образом, необходимо округление до пятого знака.
Цена ($) | Количество | Курс (руб./$) | Таможенный платеж (%) | Таможенный платеж (руб.) | Итого стоимость партии (руб.) | Цена за единицу (руб.) |
0,03 | 1000 | 29,31 | 29,45% | 258,95 | 1138,25 | 1,13825 |
Таблица 2.2. Пример правильного расчета таможенных платежей и стоимости товара
В Excel существует более 10 функций округления, каждая из которых выполняет эту операцию по-своему. Часть из них представлена на рис. 2.29. Исчерпывающую информацию относительно всех этих функций вы можете получить в справке Excel, вызываемой путем нажатия функциональной клавиши .
Рис. 2.29. Функции округления в Excel
Остановить Excel от округления больших чисел
Когда дело доходит до ввода больших чисел в Excel, есть несколько причин, по которым Excel может округлять ваши большие числа.
- Для формата ячейки установлено значение «Общий», и отображается только определенная длина числа.
- Номер длиннее 15 цифр, и любое число после 15-й цифры отображается как 0
Давайте рассмотрим каждый из этих сценариев и посмотрим, как можно предотвратить округление чисел в Excel в каждом случае.
Изменение формата ячейки с общего на числовой
Если для формата ячейки установлено значение «Общий», Excel показывает только определенное количество цифр в ячейке, и любое число, превышающее его, отображается в экспоненциальном формате (также называемом научным форматом).
Ниже приведен пример числа в экспоненциальном формате в ячейке A2.
Как вы можете видеть на скриншоте выше, когда у меня есть число из 11 цифр, в Excel нет проблем с отображением всего числа.
Но когда у меня есть число, состоящее из 12 цифр, кроме преобразования его в экспоненциальный формат.
Как это исправить:
У этого есть легкое исправление. Все, что вам нужно сделать, это изменить формат ячейки с общего на числовой.
Ниже приведены инструкции, как это сделать:
- Выделите ячейки или диапазон ячеек, для которых вы хотите изменить формат
- Перейдите на вкладку «Главная»
- В группе «Число» щелкните раскрывающееся меню форматирования.
- Выберите «Число» в качестве формата.
Вышеупомянутые шаги должны заставить ваши числа отображаться должным образом.
Когда вы меняете формат ячейки на числовой формат, Excel автоматически добавляет 2 цифры после десятичной точки. Если они вам не нужны, нажмите на ленте значок «Уменьшить десятичный разделитель» (он находится на вкладке «Главная»).
Кроме того, если вы видите серию хеш-символов вместо числа в ячейке, просто разверните столбец. Как только столбец станет достаточно широким, чтобы вместить все число, вы должны увидеть его.
Отображение в числовом тексте более 15 цифр
Еще одна проблема, с которой вы можете столкнуться при работе с большими числами в Excel, заключается в том, что после 15 цифр в числе Excel преобразует любую цифру в 0.
Это сделано намеренно, и Excel считает значимыми только 15 цифр, и любая цифра после этого автоматически преобразуется в 0.
Это может быть проблемой, когда вы работаете с большими числами (такими как номера кредитных карт или номера заказов).
Ниже приведен пример, в котором, когда я ввожу цифру 1 16 раз в ячейку, отображаются первые 15 экземпляров, а 16-й преобразуется в 0.
Внимание! В отличие от других методов, Excel не просто показывает мне 0 после 15-й цифры, а фактическое число находится на заднем конце. Даже в задней части Excel преобразует цифры после 15-й цифры в 0
Как с этим справиться:
Чтобы Excel не делал этого, вам нужно преобразовать ваш номер в текстовый формат. Хотя Excel предварительно запрограммирован на обработку чисел определенным образом, он не вмешивается в текстовый формат (к счастью).
И самый простой способ сделать это — добавить апостроф перед числом.
Это заставит Excel рассматривать все, что следует за апострофом, как текстовую строку, и в то же время, как только вы нажмете клавишу ввода, апостроф не будет отображаться в ячейке (так что вы сможете увидеть все число без апостроф)
Ниже приведен пример, в котором число в ячейке A1 имеет апостроф перед ним и показывает все число, но число в ячейке A2 не имеет апострофа и преобразует последнюю цифру в 0.
Как округлить число до целых
Очень часто случается так, что имеется необходимость округлить, например, число 5,9. Данная процедура не составляет большого труда. Нужно для начала опустить запятую, и перед нашим взором предстает при округлении уже знакомое нам число 60. А теперь ставим запятую на место, и получаем 6,0. А поскольку нули в десятичных дробях, как правило, опускаются, то получаем в итоге цифру 6.
Аналогичную операцию можно производить и с более сложными числами. Например, как округлять числа типа 5,49 до целых? Здесь все зависит от того, какие цели вы поставите перед собой. Вообще, по правилам математики, 5,49 — это все-таки не 5,5. Поэтому округлить его в большую сторону нельзя. Но можно его округлить до 5,5, после чего уже законным становится округление до 6. Но такая уловка не всегда срабатывает, так что нужно быть предельно осторожным.
В принципе, выше уже был рассмотрен пример правильного округления числа до десятых, поэтому сейчас важно отобразить только основной принип. По сути, все происходит приблизительно таким же образом
Если цифра, которая находится на второй позиции после запятой, находится в пределах 5-9, то она вообще убирается, а стоящая перед ней цифра увеличивается на один. Если же меньше 5, то данная цифра убирается, а предыдущая остается на своем месте.
Например, при 4,59 до 4,6 цифра «9» уходит, а к пятерке прибавляется единица. А вот при округлении 4,41 единица опускается, а четверка остается в незименном виде.
Как округлить число до целых
Очень часто случается так, что имеется необходимость округлить, например, число 5,9. Данная процедура не составляет большого труда. Нужно для начала опустить запятую, и перед нашим взором предстает при округлении уже знакомое нам число 60. А теперь ставим запятую на место, и получаем 6,0. А поскольку нули в десятичных дробях, как правило, опускаются, то получаем в итоге цифру 6.
Аналогичную операцию можно производить и с более сложными числами. Например, как округлять числа типа 5,49 до целых? Здесь все зависит от того, какие цели вы поставите перед собой. Вообще, по правилам математики, 5,49 — это все-таки не 5,5. Поэтому округлить его в большую сторону нельзя. Но можно его округлить до 5,5, после чего уже законным становится округление до 6. Но такая уловка не всегда срабатывает, так что нужно быть предельно осторожным.
В принципе, выше уже был рассмотрен пример правильного округления числа до десятых, поэтому сейчас важно отобразить только основной принип. По сути, все происходит приблизительно таким же образом
Если цифра, которая находится на второй позиции после запятой, находится в пределах 5-9, то она вообще убирается, а стоящая перед ней цифра увеличивается на один. Если же меньше 5, то данная цифра убирается, а предыдущая остается на своем месте.
Например, при 4,59 до 4,6 цифра «9» уходит, а к пятерке прибавляется единица. А вот при округлении 4,41 единица опускается, а четверка остается в незименном виде.
Примеры как правильно округлить дробное и целое число в Excel
Клиенты каждой фирмы чаще всего хотят видеть простые округленные числа. Отчеты, записанные дробными числами больше чем десятые или сотые, не влияющие на точность значительно менее читабельны. Поэтому необходимо в Excel пользоваться функцией для округления числовых значений =ОКРУГЛ(), а также ее модификациями =ОКРУГЛВВЕРХ(), =ОКРУГЛВНИЗ() и другие.
Как округлять дробные и целые числа в Excel?
Функция ОКРУГЛ в Excel служит для закругления исходного числового значения до заданного числа символов (десятичных знаков или разрядности) после запятой. Функция содержит всего лишь только 2 аргумента:
- Число – указывается исходное округляемое число или ссылка на него ячейку.
- Число_разрядов – указывается количество десятичных разрядов, которое необходимо оставить после запятой.
Если во втором аргументе функции ОКРУГЛ указать число 0, тогда Excel удалить все знаки десятичных разрядов и на основе первого знака после запятой округлит исходное числовое значение до целого числа. Например, при исходном значении 94,45 функция возвращает целое 94, как в ячейке B1.
Далее на примерах рассмотрим, как округлять целые числа Excel. Такой прием очень часто нужно применять в презентациях анализов различных показателей.
Как округлить число до сотен тысяч в Excel?
Если во втором аргументе будет указано число 1, тогда Excel округлит исходное значение до одного знака десятичного разряда после запятой на основе второго числового значения после запятой. Например, если исходное значение 94,45, тогда функция ОКРУГЛ с единицей во втором аргументе возвращает дробное значение до десятых 94,5. Ячейка B2:
Во втором аргументе для функции ОКРУГЛ можно так же задавать отрицательные числовые значения. Благодаря такому способу Excel округляет число на основе знаков перед запятой, то есть по левую сторону на 1 знак. Например, следующая формула с отрицательным числом -1 во втором аргументе возвращает числовое значение 90 при том же исходном числе 94,45:
Таким образом, мы округлили не только до целого числа, а и до десятков. Теперь не сложно догадаться как в Excel округлить целое число до сотен тысяч. Для этого в во втором аргументе следует просто указать отрицательное значение -5, так как в сотнях тысяч 5 нулей (5 знаков перед запятой по левую сторону). Пример:
Как округлить до целых в большую или меньшую сторону?
С помощью функции ОКРУГЛВВЕРХ и ОКРУГЛВНИЗ можно заставить Excel в принудительном порядке округлять в необходимом направлении. Как бы эти функции позволяют работать против правил округления. Например:
Функция ОКРУГЛВВЕРХ округляет в большую сторону. Допустим исходное значение 94,45 тогда ОКРУГЛВВЕРХ в необходимом нам направлении округления вверх возвращает 95:
=ОКРУГЛВВЕРХ(94,45;0) = 95
Функция ОКРУГЛВНИЗ округляет другое исходное числовое значение 94,55 и возвращает 94:
=ОКРУГЛВНИЗ(94,55;0) = 94
Внимание! Если вы используете округленные числа в ячейках для дальнейшего использования их формулах и вычислениях, тогда следует обязательно использовать функцию ОКРУГЛ (или ее модификации), а не формат ячеек. Потому как форматирование ячеек не изменяет числовое значение, а лишь только изменяет его отображение
Как видно на рисунке в строке формул отображается истинное числовое значение ячейки без форматирования. Поэтому с помощью формата ячеек само число не округляется и в следствии чего могут возникнуть серьезные ошибки в расчетах.
Округление через формат ячеек
Также можно выставить округление с помощью настроек формата ячеек. Для этого, нужно выделить диапазон ячеек на листе, кликнуть правой кнопкой мыши, и в появившемся меню выбрать пункт «Формат ячеек».
В открывшемся окне настроек формата ячеек нужно перейти во вкладку «Число». Если формат данных указан не числовой, то нужно выбрать именно числовой формат, иначе вы не сможете регулировать округление. В центральной части окна около надписи «Число десятичных знаков» просто указываем цифрой то число знаков, которое желаем видеть при округлении. После этого, выполняем клик по кнопке «OK».
Округление в Python — round, int, модуль math
П ри выполнении ряда арифметических операций пользователю нужно следовать правилам округления. Преобразовывать нужно в большую или меньшую сторону, до целого значения или до сотых.
В Python для округления доступны функции round() , int() и модуль math . Последний дополнительно импортируется.
Встроенные функции
Для операции округления в Python есть встроенные функции — round() и int()
round
round(number) — округляет число (number) до ndigits знаков после запятой. Это стандартная функция, которая для выполнения не требует подключения модуля math.
По умолчанию операция проводится до нуля знаков — до ближайшего целого числа. Например:
round(3.5) > 4 round(3.75, 1) > 3.8
Чтобы получить целый показатель, результат преобразовывают в int .
Синтаксически функция вызывается двумя способами.
- round(x) — это округление числа до целого, которое расположено ближе всего. Если дробная часть равна 0,5, то округляют до ближайшего четного значения.
- round(x, n) — данные х округляют до n знаков после точки. Если округление проходит до сотых, то n равен «2», если до тысячных — «3» и т.д.
int — встроенная функция, не требующая подключения дополнительных модулей. Её функция — преобразование действительных значений к целому путем округления в сторону нуля. Например:
int(5.9) > 5 int(-5.77) > -5
Для положительных чисел функция int аналогична функции math.floor() , а для отрицательных — аналогично math.ceil() . Например:
import math math.floor(3.999) > 3 math.ceil(3.999) > 4
💡 Чтобы число по int преобразовать по математическим правилам, нужно выполнить следующие действия.
- Если число положительное, добавить к нему 0,5;
- Если число отрицательное, добавить -0,5.
Синтаксически преобразование оформляется так:
num = 5.77 int(num + (0.5 if num > 0 else -0.5)) > 6
Функции из библиотеки Math
Модуль необходим в Python. Он предоставляет пользователю широкий функционал работы с числами. Для обработки алгоритмов сначала проводят импорт модуля.
math.ceil
Функция преобразовывает значение в большую сторону (вверх). Этот термин применяется и в математике. Он означает число, которое равно или больше заданного.
Любая дробь находится между двумя целыми числами. Например, 2.3 лежит между 2 и 3. Функция ceil() определяет большую сторону и возводит к нему результат преобразования. Например:
import math math.ceil(3.25) > 4
Алгоритм определяет большую границу интервала с учетом знака:
import math math.ceil(-3.25) > -3
math.floor
math.floor() действует противоположно math.ceil() — округляет дробное значение до ближайшего целого, которое меньше или равно исходному. Округление происходит в меньшую сторону (вниз):
import math math.floor(3.9) > 3 math.floor(-2.1) > -3
При округлении учитывается знак перед данными.
math.trunc
Функция характеризуется отбрасыванием дробной части. После преобразования получается целое значение без учета дроби. Такой алгоритм не является округлением в арифметическом смысле. В Пайтон просто игнорируется дробь независимо от ее значения:
import math math.trunc(7.11) > 7 math.trunc(-2.1) -2
💡 Избавиться от дроби можно без подключения модуля. Для этого есть стандартная функция int Она преобразовывает дробные числа в целые путем игнорирования дроби.
Различие округления в Python 2 и Python 3
В Python 2 и Python 3 реализованы разные принципы округления.
В Python 2 используется арифметическое округление. В нем наблюдается большое количество погрешностей, что приводит к неточностям в процессе вычислений.
Во втором Python есть только 4 цифры, которые ведут к преобразованию к меньшему значению — 1, 2, 3 и 4. Также 5 цифр, которые приводят к большему значению — 5, 6, 7, 8, 9. Такое неравное распределение ведет к тому, что погрешность постоянно нарастает.
Python 2 по правилам арифметического округления преобразует число 5,685 в 5,68 до второго знака. Такая погрешность связана с тем, что десятичные цифры float в двоичном коде невозможно корректно представить.
В Python 3 используются принципы банковского округления. Это означает, что преобразование производится к ближайшему четному. В таком случае также не удается полностью избежать возникающих ошибок, но программисты добиваются точности в подсчетах.
2,5 по правилам банковского преобразования будет равно 2, а 3,5 = 4 (значения возводятся к близкому четному). Минимизировать погрешности можно благодаря практически равной вероятности, что перед пятеркой будет четное или нечетное число.
Как используют маркетологи неумение массового потребителя округлять цифры?
Оказывается, большая часть людей на свете не имеет привычки оценить реальную стоимость продукта, что активно эксплуатируют маркетологи. Все знают слоганы акций типа «Покупайте всего за 9,99». Да, мы сознательно понимаем, что это уже по сути десять долларов. Тем не менее наш мозг устроен так, что воспринимает только первую цифру. Так что нехитрая операция приведения числа в удобный вид должно войти в привычку.
Очень часто округление позволяет лучше оценить промежуточные успехи, выражающиеся в численной форме. Например, человек стал зарабатывать 550 долларов в месяц. Оптимист скажет, что это почти 600, пессимист — что это чуть больше 500. Вроде бы разница есть, но мозгу приятнее «видеть», что объект достиг чего-то большего (или наоборот).
Можно привести огромное количество примеров, когда умение округлять оказывается невероятно полезным
Важно проявлять изобретательность и по возможности на загружаться ненужной информацией. Тогда успех будет незамедлительным
Если отображение ненужных разрядов вызывает появление знаков ######, или если микроскопическая точность не нужна, измените формат ячеек таким образом, чтобы отображались только необходимые десятичные разряды.
Или если вы хотите округлить число до ближайшего крупного разряда, например, тысячной, сотой, десятой или единицы, используйте функцию в формуле.
С помощью кнопки
Выделите ячейки, которые нужно отформатировать.
На вкладке Главная
выберите команду Увеличить разрядность
или Уменьшить разрядность
, чтобы отобразить больше или меньше цифр после запятой.
С помощью
встроенного числового формата
На вкладке Главная
в группе Число
щелкните стрелку рядом со списком числовых форматов и выберите пункт Другие числовые форматы
.
В поле Число десятичных знаков
введите число знаков после запятой, которые вы хотите отображать.
С помощью функции в формуле
Округлите число до необходимого количества цифр с помощью функции ОКРУГЛ . Эта функция имеет только два аргумента
(аргументы — это части данных, необходимые для выполнения формулы).
Первый аргумент — это число, которое необходимо округлить. Он может быть ссылкой на ячейку или числом.
Второй аргумент — это количество цифр, до которого необходимо округлить число.
Предположим, что ячейка A1 содержит число 823,7825
. Вот как можно округлить его.
Чтобы округлить до ближайшей тысяч
и
Введите =ОКРУГЛ(A1;-3)
, что равно 100
0
Число 823,7825 ближе к 1000, чем к 0 (0 кратно 1000)
В этом случае используется отрицательное число, поскольку округление должно состоятся влево от запятой. Такое же число применяется в следующих двух формулах, которые округляют до сотен и десятков.
Чтобы округлить до ближайших сотен
Введите =ОКРУГЛ(A1;-2)
, что равно 800
Число 800 ближе к 823,7825, чем к 900. Наверное, теперь вам все понятно.
Чтобы округлить до ближайших
десятков
Введите =ОКРУГЛ(A1;-1)
, что равно 820
Чтобы округлить до ближайших
единиц
Введите =ОКРУГЛ(A1;0)
, что равно 824
Используйте ноль для округления числа до ближайшей единицы.
Чтобы округлить до ближайших
десятых
Введите =ОКРУГЛ(A1;1)
, что равно 823,8
В этом случает для округления числа до необходимого количества разрядов используйте положительное число. То же самое касается двух следующих формул, которые округляют до сотых и тысячных.
Чтобы округлить до ближайших
сотых
Введите =ОКРУГЛ(A1;2)
, что равно 823,78
Чтобы округлить до ближайших
тысячных
Введите =ОКРУГЛ(A1;3)
, что равно 823,783
Округлите число в большую сторону с помощью функции ОКРУГЛВВЕРХ . Она работает точно так же, как функция ОКРУГЛ, за исключением того, что она всегда округляет число в большую сторону. Например, если необходимо округлить число 3,2 до ноля разрядов:
=ОКРУГЛВВЕРХ(3,2;0)
, что равно 4
Округлите число вниз с помощью функции ОКРУГЛВНИЗ . Она работает точно так же, как функция ОКРУГЛ, за исключением того, что она всегда округляет число в меньшую сторону. Например, необходимо округлить число 3,14159 до трех разрядов:
=ОКРУГЛВНИЗ(3,14159;3)
, что равно 3,141
Сегодня мы рассмотрим довольно скучную тему, без понимания которой двигаться дальше не представляется возможным. Эта тема называется «округление чисел» или по-другому «приближённые значения чисел».
Содержание урока
1.1 Значащие цифры
Число цифр, которые должны быть оставлены для выражения результата вычисления, зависит от типа (этапа) вычисления и от его необходимой точности. Одним из способов ее установления является принятие решения о числе значащих цифр, подлежащих сохранению. ‘0’ не является значащей цифрой, если только он не стоит между двумя другими числами, например, 103, или если он не является последним десятичным знаком, например, 2,10. (Оба эти числа являются примерами чисел с тремя значащими цифрами). Например, число 13 456 с точностью до двух значащих чисел может быть записано как 13 000 (отметим, что нули не являются здесь значащими цифрами). Этот способ записи является удобным для представления результата, однако он не указывает на размер ответа. Например, 13 000 и 2,1 могут оба представлять результат округления до двух значащих цифр. Число значащих цифр может, однако, быть показателем точности задания числа. Это является одним из основных факторов, определяющих сколько значащих цифр следует удерживать.