Проблемы с вычислением формул в 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
устранить её.
Ubhra Пользователь Сообщений: 11 |
Добрый день. Создаю новый файл, в нем все считается нормально. |
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
Видимо, надо зайти в формат ячеек и посмотреть что там после запятой еще живет. Поставьте форма ячеек Общий (правая кнопка мыши на ячейке — Формат ячеек — Вкладка Число -Общий). И раздвиньте границы столбца на всю ширину числа. Уверен, есть там хвост из дробной части более 2-х знаков. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
Ubhra Пользователь Сообщений: 11 |
43008,6956521739 из-за длинной дроби похоже и не считает |
Ts.Soft Пользователь Сообщений: 576 |
Ubhra, посмотрите справку по функции ОКРУГЛ Изменено: Ts.Soft — 05.05.2016 16:21:11 Не стреляйте в тапера — он играет как может. |
Ubhra Пользователь Сообщений: 11 |
Значения в ячейках A1 и B1 Всеравно теряет |
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
А почему только одно число округляете, а не оба? Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
Ubhra Пользователь Сообщений: 11 |
А разве проблема не в первом числе с 10 знаками после запятой? |
Ubhra Пользователь Сообщений: 11 |
СПАСИБО! |
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
#9 05.05.2016 17:17:46
понятия не имею. Может и не только в нем — у меня Ваших чисел нет. И как Вы поняли, что неправильно считает я тоже не знаю(на калькуляторе, в уме, еще как-то). Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
Хитрости »
18 Март 2018 134243 просмотров
Часто при вычислении разницы двух ячеек в 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
ссылки
статистика
Время на прочтение
1 мин
Количество просмотров 3.8K
Если в Excel 2007 умножить 850 на 77.1, то результат будет 100000, а не 65535, как ожидается. Более того, если прибавить 1 (=A1+1), то результат будет 100001, а если отнять, то 65534. Случаев, когда Excel 2007 ошибается достаточно много:
=5.1*12850
=10.2*6425
=20.4*3212.5
=40.8*1606.25
=77.1*850
=154.2*425
=212.5*308.4
=308.4*212.5
=425*154.2
=2*10.2*3212.5
и т.д.
К счастью, ошибка проявляет себя достаточно ограниченно. Если прибавить не 1, а любое другое число, то результат будет верный. Тем не менее, при расчете достаточно сложных таблиц эта ошибка может неприятно проявить себя.
По неподтвержденным данным, патч уже создан и доступен узкому кругу подписчиков MSDN (high-level MSDN subscribers). Однако официальной информации пока на сайте нет.
Предыдущие версии Excel не содержат этой ошибки.
Некоторые из других особенностей экселя:
1. Excel 2003 нормально умножает 850 на 77.1, но если перевести результат (65535) в шестнадцатеричную систему с помощью Dec2Hex, то результат будет FFFE, что на 1 меньше правильного ответа. Соответственно, Dec2Hex(850*77.1+1) будет FFFF, что опять на 1 меньше. В то же время, Dec2Hex(850*77.1+2) = 10001, т.е. вычисление проходит правильно.
2. Excel не всегда верно рассчитывает стандартное отклонение. Например, если взять произвольный x и посчитать стандартное отклонение для последовательности x+1, x+2, …, x+10, то результат должен быть 3.027650354. Однако для некоторых x Excel неправильно считает стандартное отклонение. Например, для 9989999999223 мы получаем 123575.8667. Если слегка изменять это значение x (в пределах 0.05), то стандартное отклонение будет изменяться на очень значительную величину.
По материалам microsoft.public.excel.
P.S. Дебют на хабре
С помощью 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.
Добавив данную функцию в первую формулу получилось добиться верного результата. Вот так казалось бы в элементарных вычислениях можно получить не правильный результат.