Как округлить в ms access, vba

Округление в большую сторону эксель

Frequently Asked Questions

Question: I read your explanation of how the ROUND function works in VBA using the round-to-even logic. However, I really need to round some values in the traditional sense (where 5 always rounds up). How can I do this?

Answer: You could always use the following logic:

If you wanted to round 12.65 to 1 decimal place in the traditional sense (where 12.65 rounded to 1 decimal place is 12.7, instead of 12.6), try adding 0.000001 to your number before applying the ROUND function:

Round(12.45+0.000001,1)

By adding the 0.000001, the expression that you are rounding will end in 1, instead of 5…causing the ROUND function to round in the traditional way.

And the 0.000001 does not significantly affect the value of your expression so you shouldn’t introduce any calculation errors.

Работа с таблицами 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

Округление до ближайшего высшего целого числа в VBA

Я пытаюсь рассчитать, сколько слоев будет уложен товар. У меня есть переменное количество ( iQty ), заданная ширина для загружаемого полотна ( dRTW ), ширина на единицу товара ( dWidth ) и количество на слой ( iLayerQty ).

Количество на слой рассчитывается как iLayerQty = Int(dRTW/dWidth)

Теперь мне нужно разделить общее количество на количество в слое и округлить. В Формуле Excel это было бы легко, но я стараюсь избегать вызовов WorksheetFunction, чтобы минимизировать путаницу A1/R1C1. В данный момент я приближаюсь к этому с помощью этого:

И это прекрасно работает большую часть времени — за исключением тех случаев, когда числа дают целое число (например, ширина груза 0.5 м, вписывающаяся в 2.5 м rolltrailer). В таких случаях, конечно, добавление одного разрушает результат.

Есть ли какой-нибудь удобный способ настроить эту формулу, чтобы получить лучшее округление вверх?

2 Ответа

Я не вижу никакой причины избегать WorksheetFunction ; я не вижу здесь никакой путаницы.

Вы также можете свернуть свою собственную функцию:

Называйте это как это:

Если использование объекта WorksheetFunction для доступа к функции ROUNDUP или CEILING не входит в таблицу, то то же самое можно сделать с некоторыми математиками.

A VBA True является эквивалентом (-1) при использовании математически. Раунд VBA существует, чтобы избежать 15-значных ошибок с плавающей запятой.

Похожие вопросы:

Как я могу округлить число с плавающей запятой до ближайшего целого числа? Я ищу алгоритм в терминах двоичного кода, так как я должен реализовать код в assembly.

Как лучше всего округлить до ближайшего целого числа в Powershell? Я пытаюсь ::усечь, но это не дает мне предсказуемых результатов. Пример: $bla = 17.2/0.1 ::truncate($bla) выходы.

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

В Fortran я хочу иметь возможность округлить большой двойной прецизионный поплавок до ближайшего целого числа. Я попытаюсь сделать это следующим образом, PROGRAM rounding IMPLICIT NONE INTEGER.

Я не уверен, задавался ли этот вопрос раньше, но как мне получить среднее округление до ближайшего целого числа в T-SQL? Спасибо

Я думаю, что простой математический вопрос, я ищу алгоритм для округления до ближайшего целого четного числа, поэтому 4.4 = 6 5.1 = 6 2.1 = 4 1.9 = 2 etc. Если бы вы могли дать мне синтаксис VBA.

У меня есть некоторый код, который округляет переменную до ближайшего целого числа-за исключением того, что я не могу заставить его округлить переменную до ближайшего целого числа. Вот мой код: var.

Я прошел через сайт ниже, но не могу получить свое решение. Округление до 2 десятичных знаков У меня ниже десятичных знаков и я хочу округлить до ближайшего целого числа: 34.56 => 35 34.67 =>.

Я искал довольно долго и не могу найти ничего на этом. Как округлить число до ближайшего целого числа? Я использую количество объектов в массиве и делю его на 3. Скажем, равно.

Я хочу округлить до ближайшего целого числа, если абсолютная разница до ближайшего целого числа меньше или равна 0.01, мой код с тестом: import unittest def round_price(price): if abs(price -.

Оператор Round

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

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

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

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

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

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

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

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

Округление в Excel — это просто!

​«ВЕЙБУЛЛ»​- текстовые функции,​ несмежных. Сумма в​MS Office Excel –​

​ дробную часть.​ Например, при помощи​ его левой кнопкой​ до 5 или​ характеризует кратность, с​число – обязательный аргумент,​ по мощности. Поставщики​

​ деления суммы имеющихся​ будет отображаться так:​Специальная функция Excel, которая​ округление десятичной дроби​ ячейку с нужным​

​ не меняет, меняется​- возврат распределения​ которые позволяют изменить​ Экселе с использованием​ программа, которая входит​В Excel есть и​

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

​ рублей на стоимость​

​ 78 568 435​ вернет только целое​

​ до целой части,​ значением (А1).​ лишь его способ​

  1. ​ Вейбулла.​ длину строки или​ данной функции может​ в комплекс Microsoft​ другие полезные функции​ числа в ячейке​ настолько, сколько строк​ Проблема в том,​ округление. Например, запись​
  2. ​ для которого требуется​ от 2 кВт​ одной валюты;​ 923 100 756,00.​ число, – «ЦЕЛОЕ».​ «1» — функция​«Число разрядов» — количество​ отображения. Чтобы в​Также MS Office Excel​ используемый регистр, а​ быть вычислена любая.​ Office. Используется для​ для округления. Вот​
  3. ​ А2 с двух​ заполнено в колонке​ что есть формулы,​ =ОКРУГЛТ(8;10) вернет значение​ выполнение операции округления;​ с шагом 0,5​

​0 – значение, указывающее​

​ При желании количество​ Имеет единственный аргумент​ округляет, оставляя один​ знаков после запятой,​ этом быстро и​ имеет​ также объединить или​​Используя символ автосуммы «Σ»​ различных математических вычислений,​ некоторые из них:​ символов после запятой​ А. Все -​ но не ясно​ 10. Как было​число_разрядов – обязательный аргумент,​ кВт. Определить подходящий​

​ на то, что​ разрядов можно уменьшить:​ – «Число». Можно​ знак после запятой,​ до которого будет​ легко разобраться и​финансовые​ разбить строки.​ и выбирая диапазон​ составления диаграмм, создания​ОКРУГЛТ — округляет до​ до одного:​ отпустили мышу, формула​ куда именно их​ сказано выше, функция​ характеризующий количество знаков​

​ кондиционер.​ округление будет выполняться​ «Главная»-«Число»-«Уменьшить разрядность».​ указать числовое значение​

​ и т.д.​​ округляться число (0​ не совершать ошибок,​функции, функции​«БДСЧЕТ», «БДСУММ»​ слагаемых. Используется для​ таблиц и т.п.​

​ соседнего кратного.​​Функция ОКРУГЛ в Excel​ скопировалась во все​ подставлять! Расскажите на​ учитывает соотношение число/точность.​ после запятой в​Таблица данных:​ до целого числа.​Функция ОКРУГЛ используется для​

​ либо ссылку на​​Формула: =ОКРУГЛВВЕРХ(A1;0).​ – чтобы округлить​ приведем несколько примеров.​

​ссылок и массивов​​- функции для​ подсчета суммы в​Документ программы представляет собой​ОКРУГЛВНИЗ и ОКРУГЛВВЕРХ —​ всегда округляет в​ указанные ячейки. Причем​ пальцах куда тыкать!​ В данном случае​ числе после округления.​Искомая мощность рассчитывается как​Если произведение округленного значения​ округления действительных чисел​ ячейку.​Результат:​ до целого числа,​Впишем в ячейку А1​

​, функции​​ баз данных. Позволяют​ таких же случаях,​

​ рабочую книгу. Книга​​ округляют в меньшую​ противоположную сторону от​

​ ссылки на ячейки​И второй вопрос​

​ 8/10=0,8>0,5, поэтому округление​​Функция ОКРУГЛТ имеет следующий​ произведение площади, высоты​ и курса валюты​ до требуемого количества​​Недостаток использования функции «ЦЕЛОЕ»​​Чтобы округлить в меньшую​ 1 – будет​

​ значение 76,575. Щелкнув​даты и времени, проверка​​ считать количество записей​​ как и «СУММ».​​ состоит из неограниченного​​ или большую сторону.​​ нуля (по модулю).​ в столбце А​

​ — в формуле​ выполняется. Запись =ОКРУГЛТ(3;10)​ синтаксис:​ потолка и коэффициента​ превышает сумму имеющихся​ знаков после запятой​ — округляет только​

​ сторону в Excel,​

Как использовать диалоговое окно

В этом примере откройте таблицу Excel и введите значения в столбце A изображения в соответствующий столбец и строки электронной таблицы.

Чтобы использовать диалоговое окно для ввода функции ROUND в ячейку C5:

  1. Нажмите на ячейку C5 чтобы сделать его активной ячейкой. Эта ячейка отображает результаты функции ROUND.
  2. Нажми наФормулы вкладку меню ленты.
  3. выберитеMath & Trigот ленты, чтобы открыть раскрывающийся список функций.
  4. Нажмите наКРУГЛЫЙ в списке, чтобы открыть диалоговое окно функции.
  5. В диалоговом окне нажмитеЧисло линия.
  6. Нажмите на ячейку A5 на листе, чтобы ввести ссылку на ячейку в диалоговое окно.
  7. Нажми начисло_разрядов линия.
  8. Наберите «А2 для уменьшения значения в A5 до двух знаков после запятой.
  9. Нажмите Хорошо для закрытия диалогового окна и возврата на рабочий лист.

Ответ17.57 должен появиться в ячейке C5. Когда вы нажимаете на ячейку C5, полная функция = ROUND (A5,2) появляется в строке формул над листом.

How to use Excel ROUND in VBA

The advantage of banker’s rounding is that it attempts to remove any bias in calculations performed on rounded numbers. Many people are unfamiliar with this way of rounding since it’s different from what they were taught and they assume that there must be an error in the VBA rounding algorithm. This isn’t true, but the perception can cause hours of frustration to user’s not expecting the behavior difference.

Don’t despair. You can still use the more traditional rounding algorithm in VBA by calling the Excel ROUND function with Application.WorksheetFunction. Here’s how you do it:

In the example above, the variable d is rounded to a value of 3 when you use the Excel Worksheet ROUND function. If you were to use the VBA round function, , it would return a value of 2.

Как округлять до десятых и сотых (один и два знака после запятой, соответственно).

Для округления до десятых следует умножить переменную на 10 (десять), после чего округлить до целых и разделить на 10 (десять). Пример: Cint(int( -3.1415926535*10))/10 = 3.1 Cint(fix( -3.1415926535*10))/10 = 3.1

Для округления до сотых следует проделать ту же самую операцию, только умножать и делить не на 10, а на 100. Пример: Cint(int( -3.1415926535*100))/100 = 3.14 Cint(fix( -3.1415926535*100))/100 = 3.14

Пример кода округляющего значения из textbox, запускающийся нажатием кнопки CommandButtom1:

Private sub CommandButtom1_click() textbox2.value = Cint(int(textbox1.value *100))/100 END SUB

Видео с примером работы макроса:

Как видите, ничего сложного в округлении чисел в vba Excel нет. Удачи Вам в изучении программы

Похожее:

  1. Макрос определяющий пустая ли ячейка или заполненная в VBA ExcelМакрос проверки заполнения ячеек. Периодически при создании.
  2. Функция VAL в VBA Excel или как преобразовать TextBox в число (цифру).Использования функции преобразования текста в число в.
  3. Макрос для быстрой замены формул на значения (числа) в выделенных ячейках документа Excel.Когда удобно менять формулы на значения нажатием.

Как округлить число в Excel?

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

Форматирование, количество знаков после запятой

Любое введенное в ячейку числовое значение отображается в формате «Общий» (Главное меню или формат ячеек). В случае форматирования числа, оно отображает определённое количество знаков после запятой, которые можно настроить ( ctrl+1 , формат ячейки). Т.е. вы можете задать любое количество знаков после запятой при помощи форматирования (при этом само число в ячейке не изменится — изменится отображение).

Функции округления ОКРУГЛ(), ОКРУГЛВВЕРХ(), ОКРУГЛВНИЗ()

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

Интересная функция = ОКРУГЛТ (128;6), чтобы округлить число «127» к кратному «6» в строке формул необходимо прописать: = ОКРУГЛТ (128;6), в итоговой ячейке мы получим число «126».

Округление денежных значений

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

Для этого если ячейка В1 содержит числовой показатель 10,561 р. (этот формат можно задать нажав иконку с деньгами на второй картинке), чтобы привести значение к нужному (2 знака после запятой) достаточно в строке формул прописать: = ОКРУГЛ (В1;2), получим результат 10,56 р.

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

1. Округление в большую сторону, т.е. вверх: =ОКРВВЕРХ(В1;0,01), ячейка В1 получит значение 10,57 р., с округлением до следующей копейки (0,01) в большую сторону 2. Округление в меньшую сторону, вниз: =ОКРВНИЗ(В1;0,01), ячейка получит значение 10,56 р., с округлением до следующей копейки в меньшую сторону 3. А если к примеру округлить показатель до 10 копеек используйте формулу: =ОКРВВЕРХ(В2;0,10)

Преобразование в целое число

Для того, чтобы получить целое число в Excel , используют формулы =ЦЕЛОЕ() и = ОТБР() . На первый взгляд они могут показаться похожими, но это не так, особенно это хорошо видно на отрицательных числах. При использовании формулы с функцией ОТБР , удаляется только дробная часть числа.

Например, имеем число- 16,3543,формула: = ОТБР (-16,3543) преобразовывает значение в число -16, а формула: =ЦЕЛОЕ(-16,3543) выдаёт показатель -17, потому что, целое следующее число, идущее за «-16,3543» — это именно «-17».

Иногда функцию ОТБР используют, для усечения десятичных знаков формула:= ОТБР (16,3555555;2) даёт показатель «16,35».

Как округлить число в Excel вверх или вниз

Бывает так, что крупные цифровые значения необходимо округлить до определённого количества некоторых значимых цифр вверх или вниз. Для этого используем формулы с функцией ОКРВВЕРХ и ОКРВНИЗ. Например имеем число 164 358 находящееся в ячейки В1, формула: = ОКРУГЛВВЕРХ (В2;3-ДЛСТР(B1)), преобразует его в показатель «165000», Тройка в данной формуле это как раз значение, которое отвечает за количество знаков в преобразовании. Если мы заменим например её на «2» и напишем формулу = ОКРУГЛВНИЗ (В2;2-ДЛСТР(A1)), получим значение «160000».

Необходимо отметить, что все эти формулы работают только с положительными числами.

Банковское округление

Очень часто в учетных программах, таких как 1С используется банковское округление, что говорит Википедия: Банковское округление (англ. banker’s rounding ) или бухгалтерское округление — округление здесь происходит к ближайшему четному (если число заканчивается на 5), то есть 2,5 → 2, 3,5 → 4. Для этого можно воспользоваться следующими функциями:

Округление до четного/нечетного

Функция =ЧЕТН() округляет до ближайшего четного целого. При этом положительные числа округляются в сторону увеличения, а отрицательные – к уменьшению

Функция =НЕЧЁТ() округляет число до ближайшего нечетного целого. Положительные числа округляются в сторону увеличения, а отрицательные – к уменьшению

Подытожим особенности округления чисел в Excel

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

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

Жаль, что эти два алгоритма были реализованы одновременно, кроме того, довольно хаотичным образом. Возможно было бы более естественным, если бы функция VBA Round() возвращала тот же результат, что и экселевская функция ОКРУГЛ (в конце концов, в английской версии Excelя, она называется также — ROUND).

Как правильно округлить число в Excel и Google Таблицах: все способы с подробной инструкцией

К таблицам у всех нас разное отношение, кто-то их очень любит и “рисует” по каждому поводу, кто-то терпеть не может. Но всем нам иногда приходится с ними работать, поэтому полезно знать основные возможности табличного редактора и дополнительные фишки, например, закрепление строк, использование сортировки и фильтров. Такие инструменты могут здорово облегчить жизнь.

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

Под округлением каждый из нас может понимать что-то свое, поэтому давайте рассмотрим, какие варианты есть в 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 есть своя функция округления. Давайте научимся ими пользоваться. Но сначала посмотрим, как можно изменить внешний вид данных в таблице.

Как округлить с excel VBA round()?

У меня есть следующие данные:

Однако, когда я попытался использовать round(cells(1,1).value*cells(1,2).value),2) , результат не соответствует cell(2,1) . Я решил, что это связано с проблемой округления, но мне просто интересно, можно ли заставить round() действовать нормально. То есть , для value > 0.5 , округлить. А для value , округлить вниз?

12 Ответов

VBA использует округление банкиров в попытке компенсировать смещение при всегда округлении вверх или вниз.5; Вы можете вместо этого;

Попробуйте эту функцию, это нормально, чтобы округлить двойной

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

ответ = INT(x + 0.5)

Я представляю две пользовательские библиотечные функции, которые будут использоваться в vba, которые будут служить цели округления двойного значения вместо использования WorkSheetFunction.RoundDown и WorkSheetFunction.RoundUp

Таким образом функция Rdown (2878.75 * 31.1,2) вернет 899529.12 а функция RUp (2878.75 * 31.1,2) вернет 899529.13 В то время как Функция Rdown (2878.75 * 31.1,-3) вернет 89000 а функция RUp (2878.75 * 31.1,-3) вернет 90000

Попробуйте использовать функцию RoundUp:

У меня была проблема, где я должен был только округлить, и эти ответы не работали для того, как я должен был запустить свой код, поэтому я использовал другой метод. Функция INT округляется в сторону отрицательного значения (4.2 переходит в 4, -4.2 переходит в -5) Поэтому я изменил свою функцию на отрицательную, применил функцию INT, а затем вернул ее в положительную, просто умножив ее на -1 до и после

Использовал функции «RDown» и «RUp» из ShamBhagwat и создал еще одну функцию, которая будет возвращать круглую часть (без необходимости давать «digits» для ввода)

на выходе будет:

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

Простое решение, используйте Worksheetfunction.Round(). Это будет округлить, если его на краю.

Это пример j-значение, которое вы хотите округлить.

Если остаток больше 0, то он округляет его, просто. При 1.5 он автоматически округляется до 2, поэтому он будет меньше 0.

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

Это сработало для меня

Я сам нашел обходной путь:

Не стесняйтесь благодарить меня. Работает как шарм для меня и функция автомасштаб работает!

Похожие вопросы:

В Excel, я хотел бы округлить до ближайшего числа Фибоначчи. Я пробовал что-то вроде (извините с французским Excel): RECHERCHEH(C7;FIBO;1;VRAI) — HLOOKUP(C7, FIBO, 1, TRUE) где FIBO-именованный.

У меня есть странная проблема с функцией Round() VBA. Когда я пытаюсь округлить любой ввод в научной нотации он всегда возвращает ноль: ? Клетки (3, 34).Значение 8,77796901893289 E-02 ? Круглый.

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

Пожалуйста, примите мои искренние извинения, если название или вопрос сбивает с толку. Я использую VBA в Excel 2007. Мне нужно округлить число до ближайших 500. Я использую код: Rvariable =.

Я пытаюсь округлить значение от 8904000 до 8900000 есть ли какой-либо возможный способ изменить это с помощью Math.round. пример в MS Excel =round(8904000,-5); ANS: 8900000 Я попробовал код ниже, но.

В ячейке B2 у меня есть переменная со значением 297.123 перед выполнением вычислений в VBA я хотел бы округлить это до 297.12. Смотрите код ниже о том, что я пробовал. Оба оценили топливо до 297.

Какой лучший способ округлить в доступе VBA? Мой текущий метод использует метод Excel Excel.WorksheetFunction.Round(. Но я ищу средство, которое не полагается на Excel.

Мне нужно округлить два значения и суммировать их. Проблема в том, что у меня есть чешская версия MS Excel , а функция округления называется Заокроухлить Так что моя формула выглядит как.

Public Function foo() Dim x As Double, y As Double, z As Double x = 1.26 y = 3.175 z = Round(x + y, 2) foo = z End Function Запуск Excel 2007 на Windows 7. Эта функция возвращает 4.43 в ячейку с.

Описание

Microsoft Excel функция ROUND возвращает число, округленное до указанного количества знаков.
Функция ROUND — это встроенная в Excel функция, которая относится к категории математических / тригонометрических функций. Её можно использовать как функцию VBA в Excel.
В качестве функции VBA вы можете использовать эту функцию в коде макроса, который вводится через редактор Microsoft Visual Basic.

Пожалуйста, прочтите нашу страницу функции ОКРУГЛ (WS), если вы ищете версию функции ОКРУГЛ для рабочего листа, так как она имеет совершенно другой синтаксис.

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

Если округляемое выражение оканчивается на 5, функция ROUND округляет выражение так, чтобы последняя цифра была четным числом.
Например:

Round(12.55, 1)
Результат: 12.6 (округляет вверх)

Round(12.65, 1)
Результат: 12.6 (округляет вниз)

Round(12.75, 1)
Результат: 12.8 (округляет вверх)

1
2
3
4
5
6
7
8

Round(12.55,1)
Результат:12.6(округляетвверх)
 

Round(12.65,1)
Результат:12.6(округляетвниз)
 

Round(12.75,1)
Результат:12.8(округляетвверх)

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

Примеры использования функции ОКРУГЛ в Excel

  1. В следующем примере показано действие функции ОКРУГЛ с отрицательным, положительным и равным нулю вторым аргументом.
  2. В данном примере в качестве первого аргумента используется другая функция Excel. Формула сначала суммирует значения в диапазоне A2:A4, а затем округляет полученный результат до одного знака после запятой.
  3. Функция ОКРУГЛ может быть использована в Excel и в формулах массива. К примеру, следующая формула сначала округляет значения в диапазоне A2:A4 до двух знаков после запятой, затем суммирует их и возвращает результат.

Оцените качество статьи

Нам важно ваше мнение:

Понравилась статья? Поделиться с друзьями:
Самоучитель Брин Гвелл
Добавить комментарий

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