Хитрости »
18 Март 2018 134061 просмотров
Часто при вычислении разницы двух ячеек в Excel можно видеть, что она не равна нулю, хотя числа одинаковые. Например, в ячейках A1 и B1 записано одно и тоже число 10,7, а в C1 мы вычитаем из одного другое:
И самое странное то, что в итоге мы не получаем 0! Почему?
И еще одна ситуация — я её называю «Куда пропала копейка?!». На скрине ниже изображена достаточно частая ситуация в Excel:
Слева числа получены формулами и сложены в единую сумму при помощи функции СУММ(SUM), а правее они же посчитаны на калькуляторе. Как видно — суммы различаются на копейку. На самом деле различаться суммы в итоге могут и более чем на копейку.
Разберем причины подобного поведения и главное — как эту проблему можно решить.
Причина очевидная — формат ячеек
Сначала самый очевидный ответ: если идет сравнение значений двух ячеек, то необходимо убедиться, что числа там действительно равны и не округлены форматом ячеек. Например, если взять те же числа из примера выше, то если выделить их -правая кнопка мыши —Формат ячеек(Format cells) -вкладка Число(Number) -выбираем формат Числовой и выставляем число десятичных разрядов равным 7:
Теперь все становится очевидным — числа отличаются и были просто округлены форматом ячеек. И естественно не могут быть равны. В данном случае оптимальным будет понять почему числа именно такие, а уже потом принимать решение. И если уверены, что числа надо реально округлять до десятых долей — то можно применить в формуле функцию ОКРУГЛ:
=ОКРУГЛ(B1;1)-ОКРУГЛ(A1;1)=0
=ROUND(B1,1)-ROUND(A1,1)=0
Но как быть, если таких формул десять, двадцать и более? Не прописывать же вручную для каждой формулу ОКРУГЛ. Можно использовать одну из функций моей надстройки MulTEx, которая двумя кликами мыши все сделает за вас. Достаточно будет выделить все ячейки с «неверными» числами, которые надо округлить, перейти на вкладку MulTEx -группа Ячейки/Диапазоны —Ячейки —Функции и выбрать Округлить(см. подробное описание функции). Указать количество знаков 2 и все. Там, где были формулы, будет добавлена функция ОКРУГЛ, а где реальные числа — будет произведено округление.
Но есть и более кардинальный метод, если сторонние утилиты и надстройки использовать нельзя или нет желания:
- Excel 2007: Кнопка офис —Параметры Excel(Excel options) —Дополнительно(Advanced) —Задать точность как на экране(Set precision as displayed)
- Excel 2010: Файл(File) —Параметры(Options) —Дополнительно(Advanced) —Задать точность как на экране(Set precision as displayed)
- Excel 2013 и выше: Файл(File) —Параметры(Options) —Дополнительно(Advanced) —Задать указанную точность(Set precision as displayed)
Это запишет все числа на всех листах книги ровно так, как они отображены форматом ячеек. Данное действие лучше выполнять на копии книги, т.к. оно приводит все числовые данные во всех листах книги к тому виду, как они отображены на экране. Т.е. если само число содержит 5 десятичных разрядов, а форматом ячеек задан только 1 — то после применения данной опции число будет округлено до 1 знака после запятой. При этом отменить данную операцию нельзя, если только не закрыть книгу без сохранения.
Причина программная
Но нередко в Excel можно наблюдать более интересный «феномен»: разница двух дробных чисел, полученная формулой не равна точно такому же числу, записанному напрямую в ячейку. Для примера, запишите в ячейку такую формулу:
=10,8-10,7=0,1
по виду результатом должен быть ответ ИСТИНА(TRUE). Но по факту будет ЛОЖЬ(FALSE). И этот пример не единственный — такое поведение Excel далеко не редкость при вычислениях. Его можно встретить и в менее явной форме — когда вычисления основаны на значении других ячеек, которые тоже в свою очередь вычисляются формулами и т.д. Но причина во всех случаях одна.
Почему с виду одинаковые числа не равны?
Сначала разберемся почему Excel считает приведенное выше выражение ложным. Ведь если вычесть из 10,8 число 10,7 — в любом случае получится 0,1. Значит где-то по пути что-то пошло не так. Запишем в отдельную ячейку левую часть выражения: =10,8-10,7. В ячейке появится 0,1. А теперь выделяем эту ячейку -правая кнопка мыши —Формат ячеек(Format cells) -вкладка Число(Number) -выбираем формат Числовой и выставляем число десятичных разрядов равным 15:
и теперь видно, что на самом деле в ячейке не ровно 0,1, а 0,100000000000001. Т.е. в 15 значащем разряде у нас появился «хвостик» в виде лишней единицы.
А теперь будем разбираться откуда этот «хвостик» появился, ведь и логически и математически его там быть не должно. Рассказать я постараюсь очень кратко и без лишних заумностей — их на эту тему при желании можно найти в интернете немало.
Все дело в том, что в те далекие времена(это примерно 1970-е годы), когда ПК был еще чем-то вроде экзотики, не было единого стандарта работы с числами с плавающей запятой(дробных, если по простому). Зачем вообще этот стандарт? Затем, что компьютерные программы видят числа по своему, а дробные так вообще со статусом «все сложно». И при этом одно и то же дробное число можно представить по-разному и обрабатывать операции с ним тоже. Поэтому в те времена одна и та же программа, при работе с числами, могла выдать различный результат на разных ПК. Учесть все возможные подводные камни каждого ПК задача не из простых, поэтому в один прекрасный момент началась разработка единого стандарта для работы с числами с плавающей запятой. Опуская различные подробности, нюансы и интересности самой истории скажу лишь, что в итоге все это вылилось в стандарт IEEE754. А в соответствии с его спецификацией в десятичном представлении любого числа допускаются ошибки в 15-м значащем разряде. Что и приводит к неизбежным ошибкам в вычислениях. Чаще всего это можно наблюдать именно в операциях вычитания, т.к. именно вычитание близких между собой чисел ведет к потере значимых разрядов.
Подробнее про саму спецификацию так же можно узнать в статье Microsoft: Результаты арифметических операций с плавающей точкой в Excel могут быть неточными
Вот это как раз и является виной подобного поведения Excel. Хотя справедливости ради надо отметить, что не только Excel, а всех программ, основанных на данном стандарте. Конечно, напрашивается логичный вопрос: а зачем же приняли такой глючный стандарт? Я бы сказал, что был выбран компромисс между производительностью и функциональностью. Хотя возможно, были и другие причины.
Куда важнее другое: как с этим бороться?
По сути никак, т.к. это программная «ошибка». И в данном случае нет иного выхода, как использовать всякие заплатки вроде ОКРУГЛ и ей подобных функций. При этом ОКРУГЛ здесь надо применять не как в было продемонстрировано в самом начале, а чуть иначе:
=ОКРУГЛ(10,8-10,7;1)=0,1
=ROUND(10.8-10.7,1)=0,1
т.е. в ОКРУГЛ мы должны поместить само «глючное» выражение, а не каждый его аргумент отдельно. Если поместить каждый аргумент — то эффекта это не даст, ведь проблема не в самом числе, а в том, как его видит программа. И в данном случае 10,8 и 10,7 уже округлены до одного разряда и понятно, что округление отдельно каждого числа не даст вообще никакого эффекта. Здесь и еще один нюанс — вполне достаточно, зная эту особенность, округлить до 14 знаков и проблема тоже исчезнет. В чем здесь плюс — как правило очень мало задач для решения требуют 15 знаков после запятой и этот 15-ый можно просто «игнорировать», но при этом не убирать более значимые разряды(ведь не всегда известно до какого разряда можно округлять без потерь):
=ОКРУГЛ(10,8-10,7;14)=0,1
=ROUND(10.8-10.7,14)=0,1
Можно, правда, выкрутиться и иначе. Умножить каждое число на некую величину(скажем на 1000, чтобы 100% убрать знаки после запятой) и после этого производить вычитание и сравнение:
=((10,8*1000)-(10,7*1000))/1000=0,1
Хочется верить, что хоть когда-нибудь описанную особенность стандарта IEEE754 Microsoft сможет победить или хотя бы сделать заплатку, которая будет производить простые вычисления не хуже 50-рублевого калькулятора
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
Проблемы с вычислением формул в Microsoft Excel
Смотрите также формулы.: Используйте фунуцию =А1=В1, она покажет в диапазоне добраяВозникла следующая ситуация:Присылайте файл с только как иSaratovssGuest другие форматы и число итераций, темАвтор: Максим Тютюшев или не заложеноПерейдите во вкладкуНо возможно причина того,«Число»Одной из наиболее востребованных
При растягивании формулыОКРУГЛ(значение_или_формула;2)
Устранение проблем с вычислением
значение «ИСТИНА». половина — числау меня есть комментариями (что должно сказал Fairuza создавать: Всем Привет! Кто: Спасибо, функцию вставил, количество знаков, ничего больше времени потребуетсяВ Excel эта ошибка
Способ 1: изменение формата ячеек
ли в самой«Файл» что вместо результатовимеется поле отображения возможностей Excel является в ячейках, вDianaНо при этом в текстовом формате таблица с 3 быть) , помогу. доп. листы (с сталкивался с простой но это тоже не получается. для вычислений. возникает тогда, когда формуле какое-либо некорректное. Находясь в ней, расчета у вас текущего формата. Если
- работа с формулами. некоторых ячейках он: Как предложил неизвестный если вычесть числа (зеленые треугольнички видите?) колонками в 1-йВидимо, в ячейке итогами, структурами, таблицами формулой “=СУММ()”-неправильно считает самое, что вЮрий МДля задания максимально допустимой формула или функция действие (например, деление следует кликнуть по
- отображаются выражения, состоит там указано значение Благодаря данной функции считает все правильно, автор :) друг из друга,Выделить диапазон, нажать
- сумма в грн., I2 — округление и т.п.) или сумму. В пересчете параметрах отметить «точность: Покажите нам этот величины разности между содержит недопустимое числовое на 0). пункту в том, что«Текстовый» программа самостоятельно производит а в некоторыхnb ноль не получается! появившийся восклицательный знак,
- во 2-й курс (не с помощью использовать разного рода “руками” ячейка+ячейка+ячейка и как на экране» столбик цифр. В результатами вычислений введите значение.Если функция сложная, с«Параметры» в программе включен, то формула точно различного рода расчеты появляются несопоставимые цифры: Спасибо за подсказку. Получается очень маленькое
- «Преобразовать в число». доллара на дату формул, а с пометки, критерии на т.д. все верно,Aleksandr72 файле.
ее в полеЗачастую это происходит, если большим количеством связанных. режим
Способ 2: отключение режима «Показать формулы»
вычисляться не будет. в таблицах. Но или ЗНАЧ! А нету другого число!Еще вариант. Копировать и в 3-й помощью форматирования) до строки, которые нужно
- а формулой сумму: Добрый день. СижуSh_AlexОтносительная погрешность вы вводите числовое ячеек, то легчеОткроется окно параметров. Нужно«Показать формулы»Для того, чтобы произвести иногда случается так,
- Использовал функцию Вычислить способа справиться, илиФайл прилагаю. пустую ячейку (это
Способ 3: исправление ошибки в синтаксисе
сумма в долларах. двух знаков после считать (далее сумма завышает как правило. и не могу: Запишите формулу так:. Чем меньше число, значение с использованием проследить вычисления с перейти в раздел. смену формата достаточно что пользователь вписывает формулу, чтобы пошагово только с помощьюПожалуйста, объясните мне, будет «0»), выделитьТак вот при
запятой. Excel считает считается по формуле С чем может сделать так, чтобы =ОКРУГЛ(467 055,68;2)+ОКРУГЛ(93 411,14;2), тем точнее результат
Способ 4: включение пересчета формулы
типа или формата помощью специального инструмента.«Формулы»Чтобы включить отображение итогов, кликнуть по данному формулу в ячейку, посмотреть как рассчитывается формулы округления? как возможна такая диапазон, меню Правка-Спецвставка-Сложить-ОК. расчете итоговой суммы не то, что
- СУММЕСЛИ). быть связанно, и формула считала правильно. или округляйте до и тем больше данных, которые неВыделяем ячейку с ошибкой.
- . В блоке настроек переходим во вкладку полю. Откроется список но она не формула в тойDiana чушь? Excel считать при суммировании числа сумма в гривнах показывает при округлении,Есть такой вариант: как поправить? Видимо все происходит двух знаков получаемые времени потребуется Excel поддерживаются в разделе Переходим во вкладку«Параметры вычислений»«Формулы» выбора форматирования, где выполняет своего прямого или иной ячейке.: Тогда только не не умеет, или
в текстовом формате положительное число, а а реальные значения если не нуженSKAt63
Способ 5: ошибка в формуле
из за округления. по формулам числа. для вычислений. аргументов формулы. Например,«Формулы», который расположен в. На ленте в можно выбрать значение, назначения – вычисления Так в одних проверять вручную :)
- у меня руки
- с нулем первое
- в долларах получается
- в ячейках. Реальное
- вывод суммы на
: Вероятно цифры в Пытаюсь сам сделатьС уважением, Александр.Результат формулы — число, нельзя ввести значение. На ленте в самом верху окна, блоке инструментов соответствующее сути формулы. результата. Давайте разберемся, он верно рассчитывает,www
кривые? превращается в число. отрицательное в этой ячейке, листе, то можно
- ячейке с некоторым не получается. ПодскажитеGuest слишком большое или$1,000 блоке инструментов если в параметре«Зависимости формул»Но выбор типов формата
- с чем это а в других: это опасная штука,SergeyKorotunТретий вариант. Похож!!!! (такого просто видимо, 50,2944. Нужно,
просто выделить нужные количеством цифр после как правильно ввести: Прикрепленные файлы post_99607.png слишком малое дляв формате валюты,«Зависимости формул»«Вычисления в книге», если кнопка через ленту не может быть связано, делает ошибки. но выводит значения: погуглите, набрав например на второй, но не может быть) чтоб считал округленное ячейки, тогда Excel запятой, которые в формулу. В результате (18.04 КБ) отображения в Excel. так как знакикликаем по кнопке, переключатель не установлен«Показать формулы» такой обширный, как и как решитьНикто не скажет, так как есть «округление чисел в копировать «1» иПонимаю, что скорее значение — пользуйтесь
автоматически посчитает сумму
lumpics.ru
Исправление ошибки #ЧИСЛО!
расчете дают прибавку. сложения сумма получиласьЮрий МЧтобы исправить ошибку, измените доллара используются как
«Вычислить формулу» в позициюактивна, то кликаем через специализированное окно. данную проблему. в чем загвоздка на экране, а компьютере» …-Умножить-ОК. всего вопрос в формулами округления. и отразит ее Примените ОКРУГЛ 858,85, но из: Юрий, мы ведь формулу таким образом, индикаторы абсолютной ссылки,.«Автоматически» по ней. Поэтому лучше применить
Скачать последнюю версию и как ее если округлить или
-
http://www.delphikingdom.com/asp/viewitem.asp?catalogID=1217Четвертый. Суммировать формулой формате данных, ноpollux87io в правом нижнем
Saratovss чисел видно что разговор ведём про
-
чтобы результат ее а запятые —Открывается окно, в котором, то это иПосле этих действий в второй вариант форматирования. Excel устранить? с помощью форматаKuklP
-
массива: уже 2-й день: В примере если углу, в строке: Проверьте нет ли сумма на конце Excel? Нет ли
-
вычисления находился в как разделители аргументов. представляется полный расчет. есть причина того, ячейках снова вместо Выделяем целевой диапазон.Причины проблем с вычислениемkrosav4ig
-
ячеек задать «хвостики»: Никакой не феномен.=СУММ(—A1:A30) не могу разобраться сложить 8130.44 + состояния.Код =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;диапазон) скрытых ячеек. Скорее должна быть 858,86. у Вас возможности диапазоне от -1*10307
-
-
Чтобы предотвратить появление Нажимаем на кнопку что результат вычислений синтаксиса функций начнет
Кликаем по нему формул в Экселе: Здравствуйте вот тут то потом при Проблема в стандарте5…n вариант. Пока
. Помогите. 36.03 = 8166.47,Считаю ТФОТ как произведение, всего неправильно в файл прикрепляю приложить именно xls? до 1*10307. ошибки #ЧИСЛО!, вводите«Вычислить» неактуальный. Переставляем переключатель отображаться результат.
У вас есть вопрос об определенной функции?
правой кнопкой мыши. могут быть совершенно
Помогите нам улучшить Excel
почитайте проверке значения расходятся IEEE 754 - хватит :)Для наглядности пересылаю а ексель пишет но при этом
support.office.com
Excel неправильно считает
функцию СУММ попадают,vikttur Зачем нам «фотография»?
Совет: значения в видеи просматриваем вычисление в нужную позицию.Формула также может отображаться В контекстном меню
разными. Они могут
benza89
на копейки, зависит представления чисел с
Как вводить формулу файл
8166.48. Как это число получается неверное! доп. ячейки, скрытые,: Не те числаGuest
Если в Microsoft Excel неформатированных чисел, например пошагово. Ищем ошибку После выполнения вышеуказанных
как текст, если выбираем пункт быть обусловлены, как: Здравствуйте, такая же от суммы плавающей точкой.
массива:
Che79 исправить? Формат чисел денежный.
которые Вы не смотрите — они: {/post}{/quote} включена проверка ошибок,1000 и устраняем её. настроек для их
в её синтаксисе«Формат ячеек»
настройками конкретной книги
проблема, только удля 2003 офиса
Один из вариантов.После введения формулы:bmv98rus Что не так? выделяете когда, выбираете получаются от перемноженияВот в Excel нажмите кнопку.Как видим, причины того,
сохранения в нижней были допущены ошибки,. Можно также после или даже отдельного меня не числа, — сервис -
Поставить в настройках в ячейку, ввод
oksana20777: pollux87io,Скорпушка . «руками».
других чисел.Guestрядом с ячейкой,В Excel ошибка #ЧИСЛО! что Эксель не
части окна жмем например, пропущена или
выделения диапазона нажать
диапазона ячеек, так а буквы вычисляются. настройки — вычисления точность как на завершается нажатием не, прочитайте Правила форума,
Посмотрите, у вас: эксель не можетЕсли не поможетПосмотрите, что в: =СУММ(ОКРУГЛ(D2:D69;2)) — массивом в которой показана также может возникать, считает или не на кнопку изменена буква. Если комбинацию клавиш и различными ошибками Все фио заменены (кажется)и там поставить экране. просто Enter, а создайте отдельную тему
8130.44 на самом считать неправильно прикрепите файл. ячейках столбца Е:Юрий М
ошибка. Выберите пункт если: правильно считает формулы,
«OK» вы вводили еёCtrl+1 в синтаксисе. на числа, в галкуnb Ctrl+Shift+Enter. Формула при со своим вопросом.
деле 8130,443122 иправь форматы -Tungus меню Формат-Ячейки-Числовой-Число_десятичных-знаков-4.
: Подозрения подтвердились -Показать этапы вычисленияв формуле используется функция, могут быть совершенно. вручную, а не.Одной из самых распространенных конце файла -для 2007 офиса: Уважаемые форумчане, подскажите,
этом будет заключенаoksana20777
36.03 36.03333 и
практически наверняка где-то: Спасибо! Разобрался. Не
planetaexcel.ru
Excel 2010 не правильно считает сумму!
Aleksandr72 попробуйте для всех, если он отобразится, выполняющая итерацию, например различными. Если вместоТеперь все выражения в черезОткрывается окно форматирования. Переходим причин, по которой ошибки в вычислениях. — значек офиса, а то голова
в фигурные скобки: Che79, спасибо, создала результат 8166.4764 . не целые числа, нужные ячейки были: я посмотрел столбец ячеек, где числа,
а затем выберите ВСД или СТАВКА, расчета у пользователя данной книге будутМастер функций во вкладку Эксель вообще неPelena настройки — дополнительно
уже сломалась. В — {}.
Rankor Округление до второго а дробные скрыты фильтром, формула Е. В нем установить числовой формат подходящее решение. которая не может отображается сама функция,
автоматически пересчитываться при, то такое вполне«Число» считает или не: — задать точность примере идет подсчетF1sh: Подскажите пожалуйста. Почему знака в формате
в плюс к их считала. Теперь
у меня стоит с тремя знаками
Задать вопрос на форуме
найти результат.
тот в этом изменении любого связанного вероятно. Очень распространенной. В блоке правильно считает формулы,Reveal31 как на экране, средней суммы денег.: Возник странный феномен в моем файле вводит в заблуждение. этому по бухучету другой вопрос! Как количество знаков после после запятой, и сообщества, посвященном Excel
Чтобы исправить ошибку, измените случае, скорее всего, значения. ошибкой, связанной с«Числовые форматы» является неверно выставленный, дайте теме болееСоВЕТУЮ прочесть справку Формула зависит от в excel. Сразу сумма (ячейка А31)
CyberForum.ru
Эксель неправильно считает произведение
Nic70y считаем 2 знака сделать так чтобы запятой два, извините, гляньте на результат.
У вас есть предложения число итераций формулы либо ячейка отформатирована
Если же программа все-таки отображением выражения, каквыбираем тот формат, формат ячеек. Если
конкретное название в по этой теме, рабочего времени, вычисляемого говорю, дело не считается не верно?: в I10 и после запятой - формула не считала но не могу Excel, несмотря на по улучшению следующей
в Excel. под текст, либо производит расчет, но
текста, является наличие который нам нужен. диапазон имеет текстовый соответствии с Правилами F1 — для на первом листе. в округлении, я И как это ниже это один результат, скрытые ячейки? понять что не
Ваше утверждение, считает версии Excel? ЕслиНа вкладке
включен режим просмотра в результате показывает пробела перед знаком Кроме того, в формат, то расчет форума принятия окончательного решения Но почему-то в умею им пользоваться. вылечить?200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ОКРУГЛ(G10-J10;2) а в табличкеSKAt63 так. правильно :-) да, ознакомьтесь с
Почему excel неправильно считает сумму (Формулы/Formulas)
Файл выражений. Также, возможна ошибку, то тут«=» правой части окна выражений в немbenza89
NickolaDed некоторых столбцах: у
Итак, проблема вЮрий Мbmv98rus наверняка знаков гораздо: Видимо только вviktturGuest темами на портале
выберите команду ошибка в синтаксисе вероятна ситуация, что.
имеется возможность выбрать вообще не производится,, прочитайте Правила форума: Вы вводили не
второго, шестого, седьмого, следующем:: А на какую: больше, потому и рукопашную, складывать ячейки: Поставьте знаков «4»: Большое спасибо за пользовательских предложений дляПараметры (например, наличие пробела пользователь просто ошибся
В таких случаях нужно тип представления конкретного
то есть, они и создайте свою
всё значение при
и восьмого считаетсяЕсть два числа, сумму Вы рассчитывали?pollux87io расчет точнее, но которые требуют сложения, и попробуйте посчитать помощь, это меня
Excel.. Если вы используете перед знаком при вводе выражения. внимательно пересмотреть синтаксис формата. После того, отображаются как обычный тему
ручной проверки, если неправильно. Это видно которые были получены У Вас, не совпадает с
возможен вариант вынос сумму.
калькулятор сбил сЮрий Excel 2007, нажмите«=» Ошибочными формулами считаются тех формул, которые
как выбор произведен, текст. В других
excelworld.ru
Почему «СУММ» неправильно считает сумму
Помогающих прошу не вы отформатируете ячейки из сравнения двух суммированием чисел, округленных там половина данныхтолько осторожнее с «калькуляторным»
скрытых ячеек вверхvikttur толку со своими: Помогите пожалуйста скнопку Microsoft Office). В случае если те, при расчете
неправильно отображаются, и кликаем по кнопке случаях, если формат отвечать до устранения в число и последних столбцов. А до одного знака не числа, а округлениями. на сколько
Chip или в них: То, что Вы 82коп. проблемой.и выберите после изменения данных которых в ячейке
внести в них«OK» не соответствует сути
замечания покажите 4 или если вместо формулы после запятой. Соответственно, текст. я знаю, то: $A$22 -там какое таблицы и сложить
видите и то,GuestСделал в ExcelПараметры Excel
в связанных ячейках появляются следующие значения:
соответствующие коррективы.
, размещенной внизу. рассчитываемых данных, результат,
Reveal31 6 знаков после
написать цифру- например, числа тоже имеютKuklP сейчас принято считать число? с помощью функции что находится в: не помогает
planetaexcel.ru
Excel неправильно считает (Формулы)
накладную, все считает. результат не обновляется,#ЧИСЛО!;Бывает и такая ситуация,Выделите поочередно ячейки, в
выводимый в ячейку,: Pelena, как можно
запятой, то вы у второго 6,77, один знак после: «СУММ» правильно считает до десятитысячных рубляСлава «СУММ ()» ячейке — разныеvikttur правильно, а вотНа вкладке то тут нужно#ЗНАЧ!; что формула вроде которых функция не
может отображаться некорректно. поменять тему или увидите в чем все считается правильно. запятой. Если поставить
сумму. Просто у и только в: Excel не ошибается,Конкретно указать диапазон числа. Если результат: То неправильно считает,
там где итого
Формулы посмотреть, как настроено#ПУСТО!; и отображает значение, считалась, и для Давайте выясним, как
нужно новую уже причина!!! Что такое может формат на 30
Вас в половине
конце округлять. Так ошибаются люди. Что суммирования нужен другой, используйте то не помогает считает неправильно 467
в разделе автообновление в параметрах#ДЕЛ/0!; но при изменении
excelworld.ru
Excel неправильно считает.
пересчета нажмите функциональную решить эту проблему. создать?NickolaDed быть? знаков после запятой, ячеек не число, ято толку с картинки?Использовать формулу суммирования функции округления (их :) 055,68Параметры вычислений книги. Также, нередко#Н/Д. связанных с ней клавишуДля того, чтобы посмотреть,Manyasha: Вот решение вашейwebley
будет 29 нолей, а текст. скопируйте
Nic70y Где формулы? Как с условием в Excel несколько).Формула массива, заканчиваете
93 411,14установите флажок
вместо корректного результата
В этом случае нужно ячеек сама неF2
какой формат имеет: проблемы: Добрый день! числа пустую ячейку, выделите
, дал правильный рецепт, можно ответить наИспользовать структуру
Округлять или сумму, ввод формулы одновременным560 466,81Включить итеративные вычисления в ячейке отображается проверить, правильно ли меняется, то есть,. конкретная ячейка илиReveal31Reveal31А Вы на
точно ряд чисел, специальная но применять его вопрос «Что неИспользовать сводную таблицу
или C*D. нажатием Ctrl-Shift-Enter, поGuest. ошибка. Тут нужно
записаны данные в результат не пересчитывается.Теперь будет производиться расчет диапазон, переходим во
, предложите новое название: Здравствуйте, возникла следующая листе «деньги» вокруглены до одного вставка — сложить. надо разумно. так? » поВарианты зависят откаррмеллюк краям формулы должны:
В поле просмотреть все значения, ячейках, на которые
planetaexcel.ru
Excel неправильно считает формулу (Формулы/Formulas)
Это означает, что формулы в стандартном вкладку темы, я или проблема. Стал последнее столбце В увеличьте знака!
viktturpollux87io этой картинке! Не файлаС подобными формулами: подиграйте появиться фигурные скобки.Юрий М
Предельное число итераций на которые ссылается ссылается выражение, нет у вас неправильно порядке с выводом«Главная» другие модераторы поменяем. время замечать в разряднось — там
Эти числа равны.: Функция считает правильно.: Спасибо!!! так что-то с
в Excel’e не=ЗНАЧЕН(ФИКСИРОВАННЫЙ( число ))Не хотите так,
: Проверьте округлениевведите необходимое количество функция. В случае ли в них настроены параметры вычислений результата в указанную. На ленте вПрочитайте правила форума экселе такую проблему
другие числа получаются… Т.е. если я Она суммирует числа,oksana20777 формулами, форматами и сталкивался, чтобы не=ЗНАЧЕН(ФИКСИРОВАННЫЙ( округл( число;3
применяйтеGuest пересчетов в Excel. обнаружения ошибки следует
ошибок в синтаксисе в данной книге. ячейку.
блоке инструментов и приложите пример. как некорректный подсчетGuest напишу формулу, например,
игнорирует текст. А: помогите, пожалуйста. т. п.. считали скрытые ячейки, ))=СУММПРОИЗВ(ОКРУГЛ(D2:D69;2)*1)
: Да, числовой, пробовал Чем больше предельное
excelworld.ru
устранить её.
Приложение Эксель используют не только для создания таблиц. Его главным предназначением является расчет чисел по формулам. Достаточно вписать в ячейки новые значения и система автоматически пересчитает их. Однако, в некоторых случаях расчет не происходит. Тогда, необходимо выяснить, почему Эксель не считает сумму.
Основные причины неисправности
Эксель может не считать сумму или формулы по многим причинам. Проблема часто заключается, как в неправильной формуле, так и в системных настройках книги. Поэтому, рекомендуется воспользоваться несколькими советами, чтобы выяснить, какой именно подходит в данной конкретной ситуации.
Изменяем формат ячеек
Программа выводит неправильные расчеты, если указанные форматы не соответствуют значению, которое находится в ячейке. Тогда вычисление или вообще не будет применяться, или выдавать совсем другое число. Например, если формат является текстовым, то расчет проводится не будет. Для программы, это только текст, а не числа. Также, может возникнуть ситуация, когда формат не соответствует действительному. В таком случае, у пользователя не получится правильно вставить вычисление, и Эксель не посчитает сумму и не рассчитает результат формулы.
Чтобы проверить, действительно ли дело в формате, следует перейти во вкладку «Главная». Предварительно, необходимо выбрать непроверенную ячейку. В этой вкладке находится информация о формате.
Если его нужно изменить, достаточно нажать на стрелочку и выбрать требуемый из списка. После этого, система произведет новый расчет.
Список форматов в данном разделе полный, но без описаний и параметров. Поэтому в некоторых случаях пользователь не может найти нужный. Тогда, лучше воспользоваться другим методом. Так же, как и в первом варианте, следует выбрать ячейку. После этого кликнуть правой клавишей мыши и открыть команду «Формат ячеек».
В открытом окне находится полный список форматов с описанием и настройками. Достаточно выбрать нужный и нажать на «ОК».
Отключаем режим «Показать формулы»
Иногда пользователь может заметить, что вместо числа отображено само вычисление и формула в ячейке не считается. Тогда, нужно отключить данный режим. После этого система будет выводить готовый результат расчета, а не выражения.
Для отключения функции «Показать формулы», следует перейти в соответствующий раздел «Формулы». Здесь находится окно «Зависимости». Именно в нем расположена требуемая команда. Чтобы отобразить список всех зависимостей, следует кликнуть на стрелочке. Из перечня необходимо выбрать «Показать» и отключить данный режим, если он активен.
Ошибки в синтаксисе
Часто, неправильное отображение результата является следствием ошибок синтаксиса. Такое случается, если пользователь вводил вычисление самостоятельно и не прибегал к помощи встроенного мастера. Тогда, все ячейки с ошибками не будут выдавать расчет.
В таком случае, следует проверить правильное написание каждой ячейки, которая выдает неверный результат. Можно переписать все значения, воспользовавшись встроенным мастером.
Включаем пересчет формулы
Все вычисления могут быть прописаны правильно, но в случае изменения значений ячеек, перерасчет не происходит. Тогда, может быть отключена функция автоматического изменения расчета. Чтобы это проверить, следует перейти в раздел «Файл», затем «Параметры».
В открытом окне необходимо перейти во вкладку «Формулы». Здесь находятся параметры вычислений. Достаточно установить флажок на пункте «Автоматически» и сохранить изменения, чтобы система начала проводить перерасчет.
Ошибка в формуле
Программа может проводить полный расчет, но вместо готового значения отображается ошибка и столбец или ячейка может не суммировать числа. В зависимости от выводимого сообщения можно судить о том, какая неисправность возникла, например, деление на ноль или неправильный формат.
Для того, чтобы перепроверить синтаксис и исправить ошибку, следует перейти в раздел «Формулы». В зависимостях находится команда, которая отвечает за вычисления.
Откроется окно, которое отображает саму формулу. Здесь, следует нажать на «Вычислить», чтобы провести проверку ошибки.
Другие ошибки
Также, пользователь может столкнуться с другими ошибками. В зависимости от причины, их можно исправить соответствующим образом.
Формула не растягивается
Растягивание необходимо в том случае, когда несколько ячеек должны проводить одинаковые вычисления с разными значениями. Но бывает, что этого не происходит автоматически. Тогда, следует проверить, что установлена функция автоматического заполнения, которая расположена в параметрах.
Кроме того, рекомендуется повторить действия для растягивания. Возможно, ошибка была в неправильной последовательности.
Неверно считается сумма ячеек
Сумма также считается неверно, если в книге находятся скрытые ячейки. Их пользователь не видит, но система проводит расчет. В итоге, программа отображает одно значение, а реальная сумма должна быть другой.
Такая же проблема возникает, если отображены значения с цифрами после запятой. В таком случае их требуется округлить, чтобы вычисление производилось правильно.
Формула не считается автоматически
Эксель не будет считать формулу автоматически, если данная функция отключена в настройках. Пользователь может устранить данную проблему, если перейдет в параметры, которые находятся в разделе «Файл».
В открытом окне следует перейти к настройке автоматического перерасчета и установить флажок на соответствующей команде. После этого требуется сохранить изменения.
Бухгалтеры (и не только) знают одну «нехорошую» особенность Excel – «неумение» правильно суммировать. 🙂 Иногда это приводит к казусам в бухгалтерских документах, сформированных в Excel (рис. 1)
Рис. 1. Фрагмент счет-фактуры с «неверным» суммированием
Скачать заметку в формате Word, примеры в формате Excel
Видно, что общий итог по налогу (значение в ячейке G7) и стоимости товаров (Н7) отличаются на копейку от суммы по строкам (G4:G6 и Н4:Н6, соответственно). Это ошибка является следствием округления. Дело в том, что значения только отображаются в формате с двумя десятичными знаками. Фактические значения в этих ячейках содержат больше десятичных знаков (рис. 2). Excel суммирует не отображаемые значения, а фактические.
Рис. 2. Тот же счет-фактура с большим числом знаков после запятой
Чтобы значение в ячейке G7 равнялось сумме отображаемых значений в ячейках G4:G6, можно применить формулу массива, проводящую округление значений до двух десятичных знаков перед суммированием: <=СУММ(ОКРУГЛ(G4:G6;2))>(рис. 3). [1]
Рис. 3. «Правильное» суммирование с использованием формулы массива
Чуть подробнее, как работает эта формула. Excel формирует виртуальный массив (в памяти компьютера), состоящий из трех элементов: ОКРУГЛ(G4;2), ОКРУГЛ(G5;2), ОКРУГЛ(G6;2), то есть значений в ячейках G4:G6, округленных до двух десятичных знаков, а затем суммирует эти три элемента. Вуаля! 🙂
Ошибки округления можно также исключить, применив функцию ОКРУГЛ в каждой из ячеек диапазона G4:G6. Этот прием не требует применения формулы массива, однако требует многократного использования функции ОКРУГЛ. Вам судить, что проще!
[1] Идея подсмотрена в книге Джона Уокенбаха «MS Excel 2007. Библия пользователя». Если вы не использовали ранее формулы массива, рекомендую начать с заметки Excel. Введение в формулы массива .
Комментарии: 42 комментария
Для полноты картины можно упомянуть еще об одном варианте, в параметрах Excel указать «точность как на экране» (Файл-Параметры-Дополнительно-При пересчете этой книги: задать точность как на экране)
Вот не рекомендуют программисты такой способ
Очень осторожно с этой приблудой. Точность_как_на_экране применяется ко всем листам книги и после сохранения вернуть прежние значения не получится.
Спасибо ! Очень помогло! сэкономило кучу времени
Спасибо за статью. «соответсвенно» лучше исправить
а как быть, если в документе производится большое количество вычислений, и числа «завязаны» друг за друга. использование формул ОКРУГЛ и т.п. немного неудобно.
как можно отключить округление отображаемого числа? как сделать, чтобы ексель показывал то что есть? пример — число 12345.6789, с точностью после запятой 2, он не округлял 12345.68, а отображал 12345.67, но значение оставалось 12345.6789?
Александр, если Вы хотите, чтобы Excel отражал с точностью до двух знаков после запятой, а хранил число с максимальной точностью, просто задайте форматирование «два знака после запятой», и никакие дополнительные формулы не потребуются. Но… именно против этого и направлена статья, так как в бухгалтерских расчетах не допускается расхождение между суммой и слагаемыми…
Как быть, если это не помогло. В формате ячейки ставлю «2 знака после запятой» затем вписываю в нее число 1950,4787, то автоматически записывается 1950,48, остальное отбрасывается вообще.
>>остальное отбрасывается вообще
Не отбрасывается, а не отображается в ячейке. Формат — лишь визуальное представление значения Выделите ячейку и посмотрите в строке формул — там то число, которое находится в ячейке
>>В формате ячейки ставлю «2 знака после запятой».
А кто Вам мешает поставить 4?
если файл загрузить сюда , а здесь выложить ссылку для скачивания, тогда:
а) мы не будем играть в угадайку
б) найдем ошибку и укажем на нее
в) предоставим правильное решение
Возможные варианты:
— в столбце используются значения 2-х видов: чистые числа и числа с рублями,
23
56руб
12
Ответ =35
— скрытые строки
— в качестве разделителя целой части используется точка (надо запятую)
Почему эксель неправильно считает сумму
Что делать, если Эксель не считает или неверно считает сумму
Приложение Эксель используют не только для создания таблиц. Его главным предназначением является расчет чисел по формулам. Достаточно вписать в ячейки новые значения и система автоматически пересчитает их. Однако, в некоторых случаях расчет не происходит. Тогда, необходимо выяснить, почему Эксель не считает сумму.
Основные причины неисправности
Эксель может не считать сумму или формулы по многим причинам. Проблема часто заключается, как в неправильной формуле, так и в системных настройках книги. Поэтому, рекомендуется воспользоваться несколькими советами, чтобы выяснить, какой именно подходит в данной конкретной ситуации.
Изменяем формат ячеек
Программа выводит неправильные расчеты, если указанные форматы не соответствуют значению, которое находится в ячейке. Тогда вычисление или вообще не будет применяться, или выдавать совсем другое число. Например, если формат является текстовым, то расчет проводится не будет. Для программы, это только текст, а не числа. Также, может возникнуть ситуация, когда формат не соответствует действительному. В таком случае, у пользователя не получится правильно вставить вычисление, и Эксель не посчитает сумму и не рассчитает результат формулы.
Чтобы проверить, действительно ли дело в формате, следует перейти во вкладку «Главная». Предварительно, необходимо выбрать непроверенную ячейку. В этой вкладке находится информация о формате.
Если его нужно изменить, достаточно нажать на стрелочку и выбрать требуемый из списка. После этого, система произведет новый расчет.
Список форматов в данном разделе полный, но без описаний и параметров. Поэтому в некоторых случаях пользователь не может найти нужный. Тогда, лучше воспользоваться другим методом. Так же, как и в первом варианте, следует выбрать ячейку. После этого кликнуть правой клавишей мыши и открыть команду «Формат ячеек».
В открытом окне находится полный список форматов с описанием и настройками. Достаточно выбрать нужный и нажать на «ОК».
Отключаем режим «Показать формулы»
Иногда пользователь может заметить, что вместо числа отображено само вычисление и формула в ячейке не считается. Тогда, нужно отключить данный режим. После этого система будет выводить готовый результат расчета, а не выражения.
Для отключения функции «Показать формулы», следует перейти в соответствующий раздел «Формулы». Здесь находится окно «Зависимости». Именно в нем расположена требуемая команда. Чтобы отобразить список всех зависимостей, следует кликнуть на стрелочке. Из перечня необходимо выбрать «Показать» и отключить данный режим, если он активен.
Ошибки в синтаксисе
Часто, неправильное отображение результата является следствием ошибок синтаксиса. Такое случается, если пользователь вводил вычисление самостоятельно и не прибегал к помощи встроенного мастера. Тогда, все ячейки с ошибками не будут выдавать расчет.
В таком случае, следует проверить правильное написание каждой ячейки, которая выдает неверный результат. Можно переписать все значения, воспользовавшись встроенным мастером.
Включаем пересчет формулы
Все вычисления могут быть прописаны правильно, но в случае изменения значений ячеек, перерасчет не происходит. Тогда, может быть отключена функция автоматического изменения расчета. Чтобы это проверить, следует перейти в раздел «Файл», затем «Параметры».
В открытом окне необходимо перейти во вкладку «Формулы». Здесь находятся параметры вычислений. Достаточно установить флажок на пункте «Автоматически» и сохранить изменения, чтобы система начала проводить перерасчет.
Ошибка в формуле
Программа может проводить полный расчет, но вместо готового значения отображается ошибка и столбец или ячейка может не суммировать числа. В зависимости от выводимого сообщения можно судить о том, какая неисправность возникла, например, деление на ноль или неправильный формат.
Для того, чтобы перепроверить синтаксис и исправить ошибку, следует перейти в раздел «Формулы». В зависимостях находится команда, которая отвечает за вычисления.
Откроется окно, которое отображает саму формулу. Здесь, следует нажать на «Вычислить», чтобы провести проверку ошибки.
Другие ошибки
Также, пользователь может столкнуться с другими ошибками. В зависимости от причины, их можно исправить соответствующим образом.
Формула не растягивается
Растягивание необходимо в том случае, когда несколько ячеек должны проводить одинаковые вычисления с разными значениями. Но бывает, что этого не происходит автоматически. Тогда, следует проверить, что установлена функция автоматического заполнения, которая расположена в параметрах.
Кроме того, рекомендуется повторить действия для растягивания. Возможно, ошибка была в неправильной последовательности.
Неверно считается сумма ячеек
Сумма также считается неверно, если в книге находятся скрытые ячейки. Их пользователь не видит, но система проводит расчет. В итоге, программа отображает одно значение, а реальная сумма должна быть другой.
Такая же проблема возникает, если отображены значения с цифрами после запятой. В таком случае их требуется округлить, чтобы вычисление производилось правильно.
Формула не считается автоматически
Эксель не будет считать формулу автоматически, если данная функция отключена в настройках. Пользователь может устранить данную проблему, если перейдет в параметры, которые находятся в разделе «Файл».
В открытом окне следует перейти к настройке автоматического перерасчета и установить флажок на соответствующей команде. После этого требуется сохранить изменения.
Excel для бухгалтера: исправление ошибки округления
Бухгалтеры (и не только) знают одну «нехорошую» особенность Excel – «неумение» правильно суммировать. ? Иногда это приводит к казусам в бухгалтерских документах, сформированных в Excel (рис. 1)
Рис. 1. Фрагмент счет-фактуры с «неверным» суммированием
Скачать заметку в формате Word, примеры в формате Excel
Видно, что общий итог по налогу (значение в ячейке G7) и стоимости товаров (Н7) отличаются на копейку от суммы по строкам (G4:G6 и Н4:Н6, соответственно). Это ошибка является следствием округления. Дело в том, что значения только отображаются в формате с двумя десятичными знаками. Фактические значения в этих ячейках содержат больше десятичных знаков (рис. 2). Excel суммирует не отображаемые значения, а фактические.
Рис. 2. Тот же счет-фактура с большим числом знаков после запятой
Чтобы значение в ячейке G7 равнялось сумме отображаемых значений в ячейках G4:G6, можно применить формулу массива, проводящую округление значений до двух десятичных знаков перед суммированием: <=СУММ(ОКРУГЛ(G4:G6;2))>(рис. 3). [1]
Рис. 3. «Правильное» суммирование с использованием формулы массива
Чуть подробнее, как работает эта формула. Excel формирует виртуальный массив (в памяти компьютера), состоящий из трех элементов: ОКРУГЛ(G4;2), ОКРУГЛ(G5;2), ОКРУГЛ(G6;2), то есть значений в ячейках G4:G6, округленных до двух десятичных знаков, а затем суммирует эти три элемента. Вуаля! ?
Ошибки округления можно также исключить, применив функцию ОКРУГЛ в каждой из ячеек диапазона G4:G6. Этот прием не требует применения формулы массива, однако требует многократного использования функции ОКРУГЛ. Вам судить, что проще!
[1] Идея подсмотрена в книге Джона Уокенбаха «MS Excel 2007. Библия пользователя». Если вы не использовали ранее формулы массива, рекомендую начать с заметки Excel. Введение в формулы массива .
Компьютер + Интернет + блог = Статьи, приносящие деньги
Забирайте в подарок мой многолетний опыт — книгу «Автопродажи через блог»
Эксель неправильно считает сумму, не вычитает, причины
Я много пишу о работе в программе Еxcel, есть и статья о том, как производить суммирование. Но, после этого ко мне стали поступать вопросы, почему Эксель неправильно считает сумму.
Хочу срезу сказать, что программа не может считать неправильно, за каждой такой ошибкой стоит наша невнимательность.
Причин, по которым вы получаете неверный результат, или вовсе не получаете ничего, достаточно много. Сегодня мы постараемся разобраться со всеми проблемами. Начнём, как обычно, с наиболее распространённых ошибок.
Эксель неправильно считает сумму
Если вы производите вычисления, и вдруг заметили, что ответ неверный — внимательно просмотрите все числовые ячейки.
Ошибки допускаемые при подсчёте:
- В столбце используют значения нескольких видов: чистые числа и числа с рублями, долларами, евро. Например, 10, 30, 5 руб, $4 и так далее. Или где-то не целые числа, а дробные;
- В таблице присутствуют скрытые ячейки (строки), которые добавляются к общей сумме;
- Ошибочная формула. Высока вероятность того, что допущена ошибка при вводе выражения;
- Ошибка в округлении. Задайте для всех ячеек, содержащих числа, числовой формат с 3 или 4 знаками после запятой;
- В качестве разделения целого значения используют точку вместо запятой.
Как видите, все причины ошибок — это людской фактор, а программа лишь выполняет то, что заложено в её задачах.
Эксель отказывается подсчитывать сумму
Иногда можно столкнуться с тем, что программа вообще не выполняет каких либо вычислений, даже не показывает промежуточную сумму при выделении столбца.
И опять, таки, всё дело в нашей невнимательности или в неверных настройках. А для получения верных расчётов, необходима правильная настройка Excel для финансовых расчётов.
Давайте пройдём по порядку, по всем пунктам.
Текстовые и числовые значения
Часто копируя и вставляя данные из разных источников в программу Эксель, пользователь сталкивается с проблемой в расчётах.
Причина, чаще всего, лежит на поверхности — Эксель воспринимает введённые данные как текст. Переведите все ячейки с цифрами в числовой формат — всё заработает.
Посмотрите внимательно на ячейки с цифрами, если вы заметили в левом верхнем углу треугольник — то это текстовая ячейка.
Соответственно, программа видит текст и не определяет числа. Для того, чтобы это изменить, нужно выделить ячейки с числами.
Появится значок с восклицательным знаком. Клик по нему — преобразовать в число.
Обычно этого достаточно для того, чтобы программа стала работать. Но, если этого не случилось, двигаемся далее.
Автоматический расчёт формул в Excel
Если программа не хочет считать, проверьте в настройках указание на автоматические расчёты. иногда этот параметр может быть отключен самой программой, в целях экономии мощностей.
Пройдите по пути — файл — параметры — формулы — установите галочку — автоматически.
После изменения данной настройки программа подсчитает всё, что вам нужно.
Сумма не совпадает с калькулятором
Опять же, вся проблема в округлении. Например, при подсчёте на калькуляторе, как правило, считаем 2 знака после запятой.
Получается один результат, а в таблице может быть настроено знаков гораздо больше. Получается расчёт точнее, но он не совпадает с «калькуляторным».
Для того, чтобы проверить настройки, откройте формат ячеек. Нажмите на вкладку — число, выбрав числовой формат. Здесь можно указать требуемое число десятичных знаков.
В заключение хочу сказать, что программа Excel никогда не ошибается, ошибаются люди. Иногда всё дело в настройках программы.
Поэтому, если вы заметили, что Эксель неправильно считает сумму, не спеша проверьте всё то, о чём я сегодня написал для вас.
Поиск ошибки в вычислениях
Excel неправильно считает. Почему?
Часто при вычислении разницы двух ячеек в Excel можно видеть, что она не равна нулю, хотя числа одинаковые. Например, в ячейках A1 и B1 записано одно и тоже число 10,7 , а в C1 мы вычитаем из одного другое:
И самое странное то, что в итоге мы не получаем 0! Почему?
Причина очевидная — формат ячеек
Сначала самый очевидный ответ: если идет сравнение значений двух ячеек, то необходимо убедиться, что числа там действительно равны и не округлены форматом ячеек. Например, если взять те же числа из примера выше, то если выделить их -правая кнопка мыши —Формат ячеек (Format cells) -вкладка Число (Number) -выбираем формат Числовой и выставляем число десятичных разрядов равным 7:
Теперь все становится очевидным — числа отличаются и были просто округлены форматом ячеек. И естественно не могут быть равны. В данном случае оптимальным будет понять почему числа именно такие, а уже потом принимать решение. И если уверены, что числа надо реально округлять до десятых долей — то можно применить в формуле функцию ОКРУГЛ:
=ОКРУГЛ( B1 ;1)-ОКРУГЛ( A1 ;1)=0
=ROUND(B1,1)-ROUND(A1,1)=0
Так же есть более кардинальный метод:
- Excel 2007:Кнопка офис —Параметры Excel (Excel options) —Дополнительно (Advanced) —Задать точность как на экране (Set precision as displayed)
- Excel 2010:Файл (File) —Параметры (Options) —Дополнительно (Advanced) —Задать точность как на экране (Set precision as displayed)
- Excel 2013 и выше:Файл (File) —Параметры (Options) —Дополнительно (Advanced) —Задать указанную точность (Set precision as displayed)
Это запишет все числа на всех листах книги ровно так, как они отображены форматом ячеек. Данное действие лучше выполнять на копии книги, т.к. оно приводит все числовые данные во всех листах книги к тому виду, как они отображены на экране. Т.е. если само число содержит 5 десятичных разрядов, а форматом ячеек задан только 1 — то после применения данной опции число будет округлено до 1 знака после запятой. При этом отменить данную операцию нельзя, если только не закрыть книгу без сохранения.
Причина программная
Но нередко в Excel можно наблюдать более интересный «феномен»: разница двух дробных чисел, полученная формулой не равна точно такому же числу, записанному напрямую в ячейку. Для примера, запишите в ячейку такую формулу:
=10,8-10,7=0,1
по виду результатом должен быть ответ ИСТИНА (TRUE) . Но по факту будет ЛОЖЬ (FALSE) . И этот пример не единственный — такое поведение Excel далеко не редкость при вычислениях. Его можно встретить и в менее явной форме — когда вычисления основаны на значении других ячеек, которые тоже в свою очередь вычисляются формулами и т.д. Но причина во всех случаях одна.
Почему с виду одинаковые числа не равны?
Сначала разберемся почему Excel считает приведенное выше выражение ложным. Ведь если вычесть из 10,8 число 10,7 — в любом случае получится 0,1 . Значит где-то по пути что-то пошло не так. Запишем в отдельную ячейку левую часть выражения: =10,8-10,7 . В ячейке появится 0,1 . А теперь выделяем эту ячейку -правая кнопка мыши —Формат ячеек (Format cells) -вкладка Число (Number) -выбираем формат Числовой и выставляем число десятичных разрядов равным 15:
и теперь видно, что на самом деле в ячейке не ровно 0,1 , а 0,100000000000001 . Т.е. в 15 значащем разряде у нас появился «хвостик» в виде лишней единицы.
А теперь будем разбираться откуда этот «хвостик» появился, ведь и логически и математически его там быть не должно. Рассказать я постараюсь очень кратко и без лишних заумностей — их на эту тему при желании можно найти в интернете немало.
Все дело в том, что в те далекие времена(это примерно 1970-е годы), когда ПК был еще чем-то вроде экзотики, не было единого стандарта работы с числами с плавающей запятой(дробных, если по простому). Зачем вообще этот стандарт? Затем, что компьютерные программы видят числа по своему, а дробные так вообще со статусом «все сложно». И при этом одно и то же дробное число можно представить по-разному и обрабатывать операции с ним тоже. Поэтому в те времена одна и та же программа, при работе с числами, могла выдать различный результат на разных ПК. Учесть все возможные подводные камни каждого ПК задача не из простых, поэтому в один прекрасный момент началась разработка единого стандарта для работы с числами с плавающей запятой. Опуская различные подробности, нюансы и интересности самой истории скажу лишь, что в итоге все это вылилось в стандарт IEEE754. А в соответствии с его спецификацией в десятичном представлении любого числа допускаются ошибки в 15-м значащем разряде. Что и приводит к неизбежным ошибкам в вычислениях. Чаще всего это можно наблюдать именно в операциях вычитания, т.к. именно вычитание близких между собой чисел ведет к потере значимых разрядов.
Подробнее про саму спецификацию так же можно узнать в статье Microsoft: Результаты арифметических операций с плавающей точкой в Excel могут быть неточными
Вот это как раз и является виной подобного поведения Excel. Хотя справедливости ради надо отметить, что не только Excel, а всех программ, основанных на данном стандарте. Конечно, напрашивается логичный вопрос: а зачем же приняли такой глючный стандарт? Я бы сказал, что был выбран компромисс между производительностью и функциональностью. Хотя возможно, были и другие причины.
Куда важнее другое: как с этим бороться?
По сути никак, т.к. это программная «ошибка». И в данном случае нет иного выхода, как использовать всякие заплатки вроде ОКРУГЛ и ей подобных функций. При этом ОКРУГЛ здесь надо применять не как в было продемонстрировано в самом начале, а чуть иначе:
=ОКРУГЛ( 10,8 — 10,7 ;1)=0,1
=ROUND(10.8-10.7,1)=0,1
т.е. в ОКРУГЛ мы должны поместить само «глючное» выражение, а не каждый его аргумент отдельно. Если поместить каждый аргумент — то эффекта это не даст, ведь проблема не в самом числе, а в том, как его видит программа. И в данном случае 10,8 и 10,7 уже округлены до одного разряда и понятно, что округление отдельно каждого числа не даст вообще никакого эффекта. Можно, правда, выкрутиться и иначе. Умножить каждое число на некую величину(скажем на 1000, чтобы 100% убрать знаки после запятой) и после этого производить вычитание и сравнение:
=((10,8*1000)-(10,7*1000))/1000=0,1
Хочется верить, что хоть когда-нибудь описанную особенность стандарта IEEE754 Microsoft сможет победить или хотя бы сделать заплатку, которая будет производить простые вычисления не хуже 50-рублевого калькулятора 🙂
Статья помогла? Поделись ссылкой с друзьями!
Почему эксель неправильно считает сумму
Всем привет. Возникла проблема с Excel’ем — при подсчете значений в столбце получается сумма, отличной от сложенной вручную на калькуляторе. В изображении ниже сумма должна получатся 83,35, но Excel почему-то суммирует это до 83,3, хотя и стоит опция, чтобы было 2 знака после запятой. Что сделать так, чтобы сумма считалась нормально? Использование СУММПРОИЗВ эффекта не дало. ОС Windows 7 X32, Excel 2010.
Так же помните что два знака после запятой — это только при выводе на экран. Число в ячейке может иметь больше знаков и фактически быть как больше так и меньше показаного округленного значения.
Например, число 1.185 будет показано как 1.19, но при сложении будет использовано именно 1.185.
Таким образом в ручную вы подсчитали сумму округленных значений, а эксел показывает округленную сумму изначальных величин. Это не всегда одно и то же.
This posting is provided «AS IS» with no warranties, and confers no rights.
- Помечено в качестве ответа Жук MVP, Moderator 7 сентября 2015 г. 22:45
Так как ввод данных и формулы расчёта зависит от Вас, то можно сказать однозначно, что не правильно считаете Вы 😉 :))
Правильнее, разместить Ваш файл-пример руководствуясь разделом Q9 справки, в общедоступной папке бесплатного хранилища OneDrive и ссылку на папку с файлом-примером, вставить в своё сообщение:
83,35
Да, я Жук, три пары лапок и фасеточные глаза :))
- Изменено Жук MVP, Moderator 5 сентября 2015 г. 0:04
- Помечено в качестве ответа Жук MVP, Moderator 5 сентября 2015 г. 0:57
Все ответы
Промежуточные суммы посчитайте — это мопомет найти «битую» ячейку
Так же помните что два знака после запятой — это только при выводе на экран. Число в ячейке может иметь больше знаков и фактически быть как больше так и меньше показаного округленного значения.
Например, число 1.185 будет показано как 1.19, но при сложении будет использовано именно 1.185.
Таким образом в ручную вы подсчитали сумму округленных значений, а эксел показывает округленную сумму изначальных величин. Это не всегда одно и то же.
This posting is provided «AS IS» with no warranties, and confers no rights.
- Помечено в качестве ответа Жук MVP, Moderator 7 сентября 2015 г. 22:45
Так как ввод данных и формулы расчёта зависит от Вас, то можно сказать однозначно, что не правильно считаете Вы 😉 :))
Правильнее, разместить Ваш файл-пример руководствуясь разделом Q9 справки, в общедоступной папке бесплатного хранилища OneDrive и ссылку на папку с файлом-примером, вставить в своё сообщение:
83,35
Да, я Жук, три пары лапок и фасеточные глаза :))
- Изменено Жук MVP, Moderator 5 сентября 2015 г. 0:04
- Помечено в качестве ответа Жук MVP, Moderator 5 сентября 2015 г. 0:57
Судя по Вашему вопросу, Вы не загружали Ваш файл-пример, ссылку на который Вам дал в предыдущем сообщении. Загрузите по ссылке данный Вам, файл-пример.
Формула суммирования =СУММ(A1:A35)
Да, я Жук, три пары лапок и фасеточные глаза :))
- Изменено Жук MVP, Moderator 7 сентября 2015 г. 9:41
Так же помните что два знака после запятой — это только при выводе на экран. Число в ячейке может иметь больше знаков и фактически быть как больше так и меньше показаного округленного значения.
Например, число 1.185 будет показано как 1.19, но при сложении будет использовано именно 1.185.
Таким образом в ручную вы подсчитали сумму округленных значений, а эксел показывает округленную сумму изначальных величин. Это не всегда одно и то же.
This posting is provided «AS IS» with no warranties, and confers no rights.
:))) я помница лет 10 назад битых 3 часа пытался обьяснить похожую ситуацию начальнице финотдела в банке, когда она с калькулятором в руке пересчитывала значения за экслем.
С помощью Microsoft Excel можно производить очень сложные вычисления, строить различные графики, визуализировать большие объемы информации и многое другое. Большинство пользователей доверяют вычислениям сделанным в Excel на 100 %. Мало кто может допустить такую ситуацию когда сам Excel не правильно произведет вычисления. Практически все знают что ошибки могут быть только по вине самого пользователя, не правильно написанная формула или данные. Совсем не давно ко мне обратилась знакомая, которая сообщила о том что результат вычисления произведенных по формуле в Excel отличается от обычного калькулятора. На первый взгляд все было написано правильно и данные и формула, но потом выяснилось то что проблема была в округлении чисел до сотых. Если честно я впервые столкнулся с такой проблемой, поэтому решил поделиться ею и с вами. Правильней будет сказать что это не ошибка а некоторая особенность Excel которую должен знать каждый.
Ошибка в результате вычисления по формулам в Excel
Давайте обо всем по порядку, необходимо было сделать следующие небольшие вычисления, сложить первые три числа и поделить на три, в общем найти среднее значение. На первый взгляд тут все правильно.
Следующим шагом нужно было получившееся среднее значение умножить на количество. В итоге результат получился такой 37371,33.
Если тоже самое посчитать на калькуляторе то результат буде другой 37371,14.
А вот если проверить первое действие то все правильно.
В итоге получаем что Excel не правильно производить округление числе и при умножении получаем не правильный результат.
Смотрим формат ячейки где расположена первая формула, в ней указано 2 десятичных знака после запятой. А по факту умножение происходить не на 644,33 а на 644,33333 в итоге и получается не правильный результат. Excel не производить правильного округления а просто отображает указанное количество знаков после запятой, а умножение делает на изначально получившееся число т.е на 644,33333.
Исправить ситуацию можно с помощью функции «ОКРУГЛ» она округляет числа по общепринятым правилам математики т.е. если число будет 2,155 то данная функция округлить его в большую сторону 2,16, если число будет 2,154 то в меньшие 2,15.
Добавив данную функцию в первую формулу получилось добиться верного результата. Вот так казалось бы в элементарных вычислениях можно получить не правильный результат.