Как сделать чтобы access не округлял числа

Добавил пользователь Валентин П.
Обновлено: 19.09.2024

Вас может удивить то, что Access округляет число 21.985 до 21.98. Если вас учили ок­руглять до большего числа, числа заканчивающиеся цифрой 5, то вы считаете, что ре­зультат должен быть 21.99. Этот способ называют арифметическим округлением. Про­грамма Access не применяет арифметическое округление — она выбирает банковское округление, которое лучше в некоторых случаях.

Разница между арифметическим и банковским округлением заключается в трактовке цифры 5. Поскольку число 21.985 находится точно в середине, между числами 21.98 и 21.99, не просто решить, что с ним делать. При постоянном округлении числа с 5 на кон­це до большего числа вносится систематическое отклонение в итоги и средние значения. Поскольку вы округляете до большего чаще, чем до меньшего, любые итоги или среднее, которые вы вычисляете, получаются чуть больше, чем следовало бы.

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

Число 21.985 округляется до меньшего числа 21.98, а число 21.995 — до большего, 22. Это не единственный способ борьбы с систематическим отклонением (можно решать случайным образом, когда округлять, а когда нет), но это общепринятая практика в бух­галтерских расчетах и статистике.

Вложенные функции

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

Speed: Abs ([DistanceTravelled] / [TimeTaken])

Если полученный результат нужно округлить, можно поместить целиком все выражение внутрь скобок функции Round ( ):

Speed: Round (Abs([DistanceTravelled] / [TimeTaken]), 2)

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

Speed: Abs(Round([DistanceTravelled] / [TimeTaken], 2) )

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

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

Построитель выражений

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

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

Откройте запрос в Конструкторе.

Щелкните правой кнопкой мыши поле, в которое вы хотите вставить выражение, и выберите команду Построить (Build).

Если вы создаете вычисляемое поле, нужно щелкнуть правой кнопкой мыши в ячейке Поле, Если создается условие отбора, следует щелкнуть правой кнопкой мыши в ячейке Условие отбора.


После выбора командыПостроить на экране появляется окно Построителя выражений, отображающее текущее содержимое поля (рис. 7.3).

Рис. 7.3. Построитель выражений состоит из текстового поля в верхней части окна, в котором можно редактировать выражение, кнопок быстрой вставки знаков обычных операций (таких как +, -, / и *, если почему-либо вы не можете их найти на клавиатуре), и трехпанельного обозревателя в нижней части окна, который поможет найти нужные поля и функции

3. Вставьте или отредактируйте выражение.

У Построителя выражений есть два ускоряющих приема работы, которые вы, может быть, захотите испробовать. Можно вставлять имя без ввода с клавиатуры (рис. 7.4) и можно найти функцию с помощью обзора (рис. 7.5).

Построитель выражений — универсальное средство создания выражений в вычисляемых по­лях и условиях отбора. Некоторые параметры имеют смысл только в одном из его назначений. Логические операторы, такие как символ равенства (=), And, Or, Not и Like, удобны для за­дания условий фильтрации (см. разд. "Построение условий отбора" главы 6), но бесполезны в вычисляемых полях.



Рис. 7.4. Для вставки имени поля щелкните дважды кнопкой мыши папку Таблицы в самом левом списке. Затем щелкните мышью вложенную папку, соответствующую нужной вам таблице. И, наконец, дважды щелкните кнопкой мыши имя поля в среднем списке для добавления его в ваше выражение. Этот прием рекомендуется только тем, кто любит щелкать кнопкой мыши

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

Когда вы вставляете имена полей в Построителе выражений, они записываются в более длинном формате с обязательным указанием имени таблицы. Вы увидите [Products] ! [Price] вместо просто [Price]. He волнуйтесь — для программы Access это одно и то же.

4. Щелкните мышью кнопку ОК.

Программа Access скопирует ваше новое выражение в ячейку Поле или Условие отбора.


Когда вПостроителе выражений вставляется функция, программа добавляет заполнители (например, и

), на место которых нужно ввести аргументы. Замени­те этот текст нужными вам значениями.

Рис. 7.6. В справке функции Round () описываются ее назначение и два параметра. Второй параметр — количество знаков в дробной части — заключен в квадратные скобки, что означает необязательное значение. Пропустите его, и программа Access округлит значение до ближайшего целого числа. Слева приведен перечень функций, который позволяет просмотреть любую другую функцию Access и прочесть ее описание

Большинство специалистов Access считают Построитель выражений слишком тяжело­весным, чтобы использовать его в работе. Но несмотря на то, что это не самое эффективное средство написания выражений, построитель предоставляет прекрасный способ знакомства с новыми загадочными функциями, благодаря своей справке для встроенных функций. Если вы нашли функцию, которая кажется многообещающей, но хотите получить дополнитель­ную информацию, выберите ее в списке и щелкните мышью кнопку Справка (Help). Вы будете вознаграждены кратким резюме, объясняющим назначение функции и описываю­щим ее параметры, которые нужно задать, как показано на рис. 7.6.

Форматирование чисел

Format ( ) — интересная математическая функция, преобразующая числа в текст. Она инте­ресна, потому что создаваемый текст можно отформатировать несколькими способами, управляя, таким образом, представлением чисел.

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

SalePrice: [Price] * 0.95

Даже если у поля Price не Денежный тип, вычисленные значения в поле SalePrice (продажная цена) выводятся как обычные числа (без знака валюты, разделителя тысяч и т. д.). Вы увидите значение 43.2 вместо желаемого $43.20.

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

SalePrice: Format([Price] / 0.95, "Currency")

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

Хитрость применения функции Format () состоит в выборе текста, задаваемого в каче­стве второго аргумента для получения желаемого результата. В табл. 7.2. приведены воз­можные варианты.

Таблица 7.2. Варианты форматирования

Выводит число с двумя знаками в дробной части, разделителями для тысяч и знаком валюты

Отображает число с двумя десятичными знаками

Выводит на экран число с двумя десятичными знака­ми и разделителями тысяч

Отображает процентное значение (число, умноженное на 100, и со знаком процента). Выводит две цифры справа от десятичной точки

Отображает число в научной нотации с двумя деся­тичными знаками

Таблица 7.2 (окончание)

Отображает Нет, если число равно 0, и Да, если число отлично от 0. Можно использовать аналогичные типы формата Истина/Ложь и Вкл/Выкл

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Для Access 2013 мне нужен способ округлить любые дробные числа до следующего целого числа в SQL-запросе.

В вышеприведенном запросе строка с номером 1.25 должна возвращаться как 2 после запроса.

Насколько мне известно, в Access 2013 нет функции ROUNDUP для использования в запросе SQL-запроса.

Чтобы округлить вверх к следующему наибольшему числу, воспользуйтесь способом, которым Int() округляет отрицательные числа вниз, например: - Int (- [MyField])

Как показано выше, Int (-2.1) округляется до -3. Поэтому это выражение округляется от 2,1 до 3.

Чтобы округлить до более высокого значения, умножьте на -100, округлите и разделите на -100: Int (-100 * [MyField]) / -100

Синтаксис противоречит интуиции, но он работает точно так, как я предполагал.

Вот то, что просто и легко понять:

ПРИМЕЧАНИЕ. Не забудьте проверить свои значения за нуль перед вызовом функции! Эта функция будет округлять наименьшую до самой большой десятичной точки до следующего целого целого независимо!

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

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

Выделение ячейки для быстрого отключения округления чисел в Excel

Выбор формата ячейки для быстрого отключения округления чисел в Excel

Кнопка для быстрого отключения округления чисел в Excel

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

Способ 2: Настройка формата ячеек

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

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

Выделение ячеек для настройки их формата при отключении округления чисел в Excel

Открытие меню настройки формата ячеек для отключения округления в Excel

Переход к настройке формата ячеек для отключения округления чисел в Excel

Выбор формата ячеек для отключения округления чисел в Excel

Настройка количества чисел после запятой для отключения округления в Excel

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

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

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

Выбор нового формата ячейки для отключения округления чисел в Excel

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

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

вот так в экселе:

а вот так уже в ворде:

Оценить 2 комментария

lukoie

Если не поможет - В экселе создать столбец\строку, где данные будут сконвертированы в текст, и уже оттуда мерджить в Word

You may need to turn you numbers into text
Try this formula: =TEXT(A1,"0.00")
Copy and Paste this as value and replace the orginal data (or simply have as a seperate field).

lukoie

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

Читайте также: