Хитрости »
18 Март 2018 134074 просмотров
Часто при вычислении разницы двух ячеек в 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
ссылки
статистика
Если Excel не может правильно оценить формулу или функцию рабочего листа; он отобразит значение ошибки – например, #ИМЯ?, #ЧИСЛО!, #ЗНАЧ!, #Н/Д, #ПУСТО!, #ССЫЛКА! – в ячейке, где находится формула. Разберем типы ошибок в Excel, их возможные причины, и как их устранить.
Ошибка #ИМЯ?
Ошибка #ИМЯ появляется, когда имя, которое используется в формуле, было удалено или не было ранее определено.
Причины возникновения ошибки #ИМЯ?:
- Если в формуле используется имя, которое было удалено или не определено.
Ошибки в Excel – Использование имени в формуле
Устранение ошибки: определите имя. Как это сделать описано в этой статье.
- Ошибка в написании имени функции:
Ошибки в Excel – Ошибка в написании функции ПОИСКПОЗ
Устранение ошибки: проверьте правильность написания функции.
- В ссылке на диапазон ячеек пропущен знак двоеточия (:).
Ошибки в Excel – Ошибка в написании диапазона ячеек
Устранение ошибки: исправьте формулу. В вышеприведенном примере это =СУММ(A1:A3).
- В формуле используется текст, не заключенный в двойные кавычки. Excel выдает ошибку, так как воспринимает такой текст как имя.
Ошибки в Excel – Ошибка в объединении текста с числом
Устранение ошибки: заключите текст формулы в двойные кавычки.
Ошибки в Excel – Правильное объединение текста
Ошибка #ЧИСЛО!
Ошибка #ЧИСЛО! в Excel выводится, если в формуле содержится некорректное число. Например:
- Используете отрицательное число, когда требуется положительное значение.
Ошибки в Excel – Ошибка в формуле, отрицательное значение аргумента в функции КОРЕНЬ
Устранение ошибки: проверьте корректность введенных аргументов в функции.
- Формула возвращает число, которое слишком велико или слишком мало, чтобы его можно было представить в Excel.
Ошибки в Excel – Ошибка в формуле из-за слишком большого значения
Устранение ошибки: откорректируйте формулу так, чтобы в результате получалось число в доступном диапазоне Excel.
Ошибка #ЗНАЧ!
Данная ошибка Excel возникает в том случае, когда в формуле введён аргумент недопустимого значения.
Причины ошибки #ЗНАЧ!:
- Формула содержит пробелы, символы или текст, но в ней должно быть число. Например:
Ошибки в Excel – Суммирование числовых и текстовых значений
Устранение ошибки: проверьте правильно ли заданы типы аргументов в формуле.
- В аргументе функции введен диапазон, а функция предполагается ввод одного значения.
Ошибки в Excel – В функции ВПР в качестве аргумента используется диапазон, вместо одного значения
Устранение ошибки: укажите в функции правильные аргументы.
- При использовании формулы массива нажимается клавиша Enter и Excel выводит ошибку, так как воспринимает ее как обычную формулу.
Устранение ошибки: для завершения ввода формулы используйте комбинацию клавиш Ctrl+Shift+Enter.
Ошибки в Excel – Использование формулы массива
Ошибка #ССЫЛКА
В случае если формула содержит ссылку на ячейку, которая не существует или удалена, то Excel выдает ошибку #ССЫЛКА.
Ошибки в Excel – Ошибка в формуле, из-за удаленного столбца А
Устранение ошибки: измените формулу.
Ошибка #ДЕЛ/0!
Данная ошибка Excel возникает при делении на ноль, то есть когда в качестве делителя используется ссылка на ячейку, которая содержит нулевое значение, или ссылка на пустую ячейку.
Ошибки в Excel – Ошибка #ДЕЛ/0!
Устранение ошибки: исправьте формулу.
Ошибка #Н/Д
Ошибка #Н/Д в Excel означает, что в формуле используется недоступное значение.
Причины ошибки #Н/Д:
- При использовании функции ВПР, ГПР, ПРОСМОТР, ПОИСКПОЗ используется неверный аргумент искомое_значение:
Ошибки в Excel – Искомого значения нет в просматриваемом массиве
Устранение ошибки: задайте правильный аргумент искомое значение.
- Ошибки в использовании функций ВПР или ГПР.
Устранение ошибки: см. раздел посвященный ошибкам функции ВПР
- Ошибки в работе с массивами: использование не соответствующих размеров диапазонов. Например, аргументы массива имеют меньший размер, чем результирующий массив:
Ошибки в Excel – Ошибки в формуле массива
Устранение ошибки: откорректируйте диапазон ссылок формулы с соответствием строк и столбцов или введите формулу массива в недостающие ячейки.
- В функции не заданы один или несколько обязательных аргументов.
Ошибки в Excel – Ошибки в формуле, нет обязательного аргумента
Устранение ошибки: введите все необходимые аргументы функции.
Ошибка #ПУСТО!
Ошибка #ПУСТО! в Excel возникает когда, в формуле используются непересекающиеся диапазоны.
Ошибки в Excel – Использование в формуле СУММ непересекающиеся диапазоны
Устранение ошибки: проверьте правильность написания формулы.
Ошибка ####
Причины возникновения ошибки
- Ширины столбца недостаточно, чтобы отобразить содержимое ячейки.
Ошибки в Excel – Увеличение ширины столбца для отображения значения в ячейке
Устранение ошибки: увеличение ширины столбца/столбцов.
- Ячейка содержит формулу, которая возвращает отрицательное значение при расчете даты или времени. Дата и время в Excel должны быть положительными значениями.
Ошибки в Excel – Разница дат и часов не должна быть отрицательной
Устранение ошибки: проверьте правильность написания формулы, число дней или часов было положительным числом.
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше
Кроме неожиданных результатов, формулы иногда возвращают значения ошибок. Ниже представлены некоторые инструменты, с помощью которых вы можете искать и исследовать причины этих ошибок и определять решения.
Примечание: В статье также приводятся методы, которые помогут вам исправлять ошибки в формулах. Этот список не исчерпывающий — он не охватывает все возможные ошибки формул. Для получения справки по конкретным ошибкам поищите ответ на свой вопрос или задайте его на форуме сообщества Microsoft Excel.
Ввод простой формулы
Формулы — это выражения, с помощью которых выполняются вычисления со значениями на листе. Формула начинается со знака равенства (=). Например, следующая формула складывает числа 3 и 1:
=3+1
Формула также может содержать один или несколько из таких элементов: функции, ссылки, операторы и константы.
Части формулы
-
Функции: это специальные формулы Excel, которые выполняют определенные вычисления. Например, функция ПИ() возвращает значение числа Пи: 3,142…
-
Ссылки: это ссылки на отдельные ячейки или диапазоны. Например, A2 возвращает значение ячейки A2.
-
Константы. Числа или текстовые значения, введенные непосредственно в формулу, например 2.
-
Операторы: оператор * (звездочка) служит для умножения чисел, а оператор ^ (крышка) — для возведения числа в степень. С помощью + и – можно складывать и вычитать значения, а с помощью / — делить их.
Примечание: Для некоторых функций требуются так называемые аргументы. Аргументы — это значения, которые некоторые функции используют при вычислениях. Аргументы функции указываются в ее скобках (). Функция ПИ не требует аргументов, поэтому у нее пустые скобки. У некоторых функций несколько аргументов, в том числе необязательные. Аргументы разделяются точкой с запятой (;).
Например, функция СУММ требует только один аргумент, но у нее может быть до 255 аргументов (включительно).
Пример одного аргумента: =СУММ(A1:A10).
Пример нескольких аргументов: =СУММ(A1:A10;C1:C10).
В приведенной ниже таблице собраны некоторые наиболее частые ошибки, которые допускают пользователи при вводе формулы, и описаны способы их исправления.
Рекомендация |
Дополнительные сведения |
Начинайте каждую формулу со знака равенства (=) |
Если опустить знак равенства, введенные данные могут отображаться в виде текста или даты. Например, при вводе СУММ(A1:A10)Excel отображает текстовую строку SUM(A1:A10) и не выполняет вычисление. Если ввести значение 11/2, вместо деления 11 на 2 Excel отображается дата 2–ноя (при условии, что ячейка имеет формат «Общий«) вместо деления 11 на 2. |
Следите за соответствием открывающих и закрывающих скобок |
Все скобки должны быть парными (открывающая и закрывающая). Если в формуле используется функция, для ее правильной работы важно, чтобы все скобки стояли в правильных местах. Например, формула =ЕСЛИ(B5<0);»Недопустимо»;B5*1,05) не будет работать, поскольку в ней две закрывающие скобки и только одна открывающая (требуется одна открывающая и одна закрывающая). Правильный вариант этой формулы выглядит так: =ЕСЛИ(B5<0;»Недопустимо»;B5*1,05). |
Для указания диапазона используйте двоеточие |
Указывая диапазон ячеек, разделяйте с помощью двоеточия (:) ссылку на первую ячейку в диапазоне и ссылку на последнюю ячейку в диапазоне. Например, =SUM(A1:A5), а не =SUM(A1 A5), которые возвращают #NULL! Ошибка. |
Вводите все обязательные аргументы |
У некоторых функций есть обязательные аргументы. Старайтесь также не вводить слишком много аргументов. |
Вводите аргументы правильного типа |
В некоторых функциях, например СУММ, необходимо использовать числовые аргументы. В других функциях, например ЗАМЕНИТЬ, требуется, чтобы хотя бы один аргумент имел текстовое значение. Если использовать в качестве аргумента данные неправильного типа, Excel может возвращать непредвиденные результаты или ошибку. |
Число уровней вложения функций не должно превышать 64 |
В функцию можно вводить (или вкладывать) не более 64 уровней вложенных функций. |
Имена других листов должны быть заключены в одинарные кавычки |
Если формула содержит ссылки на значения или ячейки на других листах или в других книгах, а имя другой книги или листа содержит пробелы или другие небуквенные символы, его необходимо заключить в одиночные кавычки (‘), например: =’Данные за квартал’!D3 или =‘123’!A1. |
Указывайте после имени листа восклицательный знак (!), когда ссылаетесь на него в формуле |
Например, чтобы возвратить значение ячейки D3 листа «Данные за квартал» в той же книге, воспользуйтесь формулой =’Данные за квартал’!D3. |
Указывайте путь к внешним книгам |
Убедитесь, что каждая внешняя ссылка содержит имя книги и путь к ней. Ссылка на книгу содержит имя книги и должна быть заключена в квадратные скобки ([Имякниги.xlsx]). В ссылке также должно быть указано имя листа в книге. В формулу также можно включить ссылку на книгу, не открытую в Excel. Для этого необходимо указать полный путь к соответствующему файлу, например: =ЧСТРОК(‘C:My Documents[Показатели за 2-й квартал.xlsx]Продажи’!A1:A8). Эта формула возвращает количество строк в диапазоне ячеек с A1 по A8 в другой книге (8). Примечание: Если полный путь содержит пробелы, как в приведенном выше примере, необходимо заключить его в одиночные кавычки (в начале пути и после имени книги перед восклицательным знаком). |
Числа нужно вводить без форматирования |
Не форматируйте числа, которые вводите в формулу. Например, если нужно ввести в формулу значение 1 000 рублей, введите 1000. Если вы введете какой-нибудь символ в числе, Excel будет считать его разделителем. Если вам нужно, чтобы числа отображались с разделителями тысяч или символами валюты, отформатируйте ячейки после ввода чисел. Например, если для прибавления 3100 к значению в ячейке A3 используется формула =СУММ(3 100;A3), Excel не складывает 3100 и значение в ячейке A3 (как было бы при использовании формулы =СУММ(3100;A3)), а суммирует числа 3 и 100, после чего прибавляет полученный результат к значению в ячейке A3. Другой пример: если ввести =ABS(-2 134), Excel выведет ошибку, так как функция ABS принимает только один аргумент: =ABS(-2134). |
Вы можете использовать определенные правила для поиска ошибок в формулах. Они не гарантируют исправление всех ошибок на листе, но могут помочь избежать распространенных проблем. Эти правила можно включать и отключать независимо друг от друга.
Существуют два способа пометки и исправления ошибок: последовательно (как при проверке орфографии) или сразу при появлении ошибки во время ввода данных на листе.
Ошибку можно исправить с помощью параметров, отображаемых приложением Excel, или игнорировать, щелкнув команду Пропустить ошибку. Ошибка, пропущенная в конкретной ячейке, не будет больше появляться в этой ячейке при последующих проверках. Однако все пропущенные ранее ошибки можно сбросить, чтобы они снова появились.
-
Для Excel в Windows щелкните Параметры > файла > формулы.
Для Excel на Mac щелкните меню Excel > Параметры > проверки ошибок.В Excel 2007 нажмите кнопку Microsoft Office и выберите Параметры Excel > Формулы.
-
В разделе Поиск ошибок установите флажок Включить фоновый поиск ошибок. Все найденные ошибки помечаются треугольником в левом верхнем углу ячейки.
-
Чтобы изменить цвет треугольника, которым помечаются ошибки, выберите нужный цвет в поле Цвет индикаторов ошибок.
-
В разделе Правила поиска ошибок установите или снимите флажок для любого из следующих правил:
-
Ячейки, содержащие формулы, которые приводят к ошибке. Формула не использует ожидаемый синтаксис, аргументы или типы данных. Значения ошибок: #DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF!и #VALUE!. Каждое из этих значений ошибок имеет разные причины и разрешается по-разному.
Примечание: Если ввести значение ошибки прямо в ячейку, оно сохраняется как значение ошибки, но не помечается как ошибка. Но если на эту ячейку ссылается формула из другой ячейки, эта формула возвращает значение ошибки из ячейки.
-
Несогласованная формула вычисляемого столбца в таблицах. Вычисляемый столбец может содержать отдельные формулы, отличающиеся от формулы главного столбца, что создает исключение. Исключения вычисляемого столбца возникают при указанных ниже действиях.
-
Ввод данных, не являющихся формулой, в ячейку вычисляемого столбца.
-
Введите формулу в ячейку вычисляемого столбца, а затем нажмите клавиши CTRL+Z или нажмите кнопку Отменить на панели быстрого доступа.
-
Ввод новой формулы в вычисляемый столбец, который уже содержит одно или несколько исключений.
-
Копирование в вычисляемый столбец данных, не соответствующих формуле столбца. Если копируемые данные содержат формулу, эта формула перезапишет данные в вычисляемом столбце.
-
Перемещение или удаление ячейки из другой области листа, если на эту ячейку ссылалась одна из строк в вычисляемом столбце.
-
-
Ячейки, содержащие годы, представленные в виде 2 цифр: ячейка содержит текстовую дату, которая может быть неправильно интерпретирована как неправильный век, если она используется в формулах. Например, дата в формуле =ГОД(«1.1.31») может относиться как к 1931, так и к 2031 году. Используйте это правило для выявления дат в текстовом формате, допускающих двоякое толкование.
-
Числа в формате текста или предшествуют апострофу. Ячейка содержит числа, хранящиеся в виде текста. Обычно это является следствием импорта данных из других источников. Числа, хранящиеся как текст, могут стать причиной неправильной сортировки, поэтому лучше преобразовать их в числовой формат. ‘=SUM(A1:A10) рассматривается как текст.
-
Формулы, несовместимые с другими формулами в регионе. Формула не соответствует шаблону других формул, расположенных рядом с ней. Во многих случаях формулы, соседствующие с другими формулами, отличаются только используемыми ссылками. В следующем примере из четырех смежных формул Excel отображает ошибку рядом с формулой =СУММ(A10:C10) в ячейке D4, так как смежные формулы увеличиваются на одну строку, а одна — на 8 строк. Excel ожидает формулу =СУММ(A4:C4).
Если используемые в формуле ссылки не соответствуют ссылкам в смежных формулах, приложение Microsoft Excel сообщит об ошибке.
-
Формулы, опускающие ячейки в области. Формула не может автоматически включать ссылки на данные, которые вы вставляете между исходным диапазоном данных и ячейкой, содержащей формулу. Это правило позволяет сравнить ссылку в формуле с фактическим диапазоном ячеек, смежных с ячейкой, содержащей формулу. Если смежные ячейки содержат дополнительные значения и не являются пустыми, Excel отображает рядом с формулой ошибку.
Например, при использовании этого правила Excel отображает ошибку для формулы =СУММ(D2:D4), поскольку ячейки D5, D6 и D7, смежные с ячейками, на которые ссылается формула, и ячейкой с формулой (D8), содержат данные, на которые должна ссылаться формула.
-
Незаблокированные ячейки, содержащие формулы. Формула не заблокирована для защиты. По умолчанию все ячейки на листе блокируются, поэтому их нельзя изменить при защите листа. Это поможет избежать случайных ошибок, таких как случайное удаление или изменение формул. Эта ошибка указывает, что ячейка была разблокирована, но лист не был защищен. Убедитесь, что ячейка не заблокирована.
-
Формулы, ссылающиеся на пустые ячейки. Формула содержит ссылку на пустую ячейку. Это может привести к неверным результатам, как показано в приведенном далее примере.
Предположим, требуется найти среднее значение чисел в приведенном ниже столбце ячеек. Если третья ячейка пуста, она не используется в расчете, поэтому результатом будет значение 22,75. Если эта ячейка содержит значение 0, результат будет равен 18,2.
-
Данные, введенные в таблицу, недопустимы. В таблице возникает ошибка проверки. Проверьте параметр проверки ячейки, перейдя на вкладку Данные > группу Data Tools > Проверка данных.
-
-
Выберите лист, на котором требуется проверить наличие ошибок.
-
Если расчет листа выполнен вручную, нажмите клавишу F9, чтобы выполнить расчет повторно.
Если диалоговое окно Поиск ошибок не отображается, щелкните вкладку Формулы, выберите Зависимости формул и нажмите кнопку Поиск ошибок.
-
Чтобы повторно проверить пропущенные ранее ошибки, щелкните Файл > Параметры > Формулы. Для Excel на Mac щелкните меню Excel > Параметры > проверки ошибок.
В разделе Поиск ошибок выберите Сброс пропущенных ошибок и нажмите кнопку ОК.
Примечание: Сброс пропущенных ошибок применяется ко всем ошибкам, которые были пропущены на всех листах активной книги.
Совет: Советуем расположить диалоговое окно Поиск ошибок непосредственно под строкой формул.
-
Нажмите одну из управляющих кнопок в правой части диалогового окна. Доступные действия зависят от типа ошибки.
-
Нажмите кнопку Далее.
Примечание: Если нажать кнопку Пропустить ошибку, помеченная ошибка при последующих проверках будет пропускаться.
-
Рядом с ячейкой нажмите кнопку «Проверка ошибок » , а затем выберите нужный параметр. Доступные команды различаются для каждого типа ошибки, и первая запись описывает ошибку.
Если нажать кнопку Пропустить ошибку, помеченная ошибка при последующих проверках будет пропускаться.
Если формула не может правильно вычислить результат, в Excel отображается значение ошибки, например #####, #ДЕЛ/0!, #Н/Д, #ИМЯ?, #ПУСТО!, #ЧИСЛО!, #ССЫЛКА!, #ЗНАЧ!. Ошибки разного типа имеют разные причины и разные способы решения.
Приведенная ниже таблица содержит ссылки на статьи, в которых подробно описаны эти ошибки, и краткое описание.
Статья |
Описание |
Исправление ошибки #### |
Эта ошибка отображается в Excel, если столбец недостаточно широк, чтобы показать все символы в ячейке, или ячейка содержит отрицательное значение даты или времени. Например, результатом формулы, вычитающей дату в будущем из даты в прошлом (=15.06.2008-01.07.2008), является отрицательное значение даты. Совет: Попробуйте автоматически изменить ширину ячейки, дважды щелкнув между заголовками столбцов. Если ### отображается потому, что Excel не может отобразить все знаки, эта проблема будет исправлена.
|
Исправление ошибки #ДЕЛ/0! #ПУСТО! |
Эта ошибка отображается в Excel, если число делится на ноль (0) или на ячейку без значения. Совет: Добавьте обработчик ошибок, как в примере ниже: =ЕСЛИ(C2;B2/C2;0).
|
Исправление ошибки #Н/Д |
Эта ошибка отображается в Excel, если функции или формуле недоступно значение. Если вы используете такую функцию, как ВПР, есть ли для искомого значения соответствие в диапазоне поиска? Скорее всего, нет. Используйте функцию ЕСЛИОШИБКА для подавления ошибки #Н/Д. В этом случае можно ввести следующее: =ЕСЛИОШИБКА(ВПР(D2;$D$6:$E$8;2;ИСТИНА);0)
|
Исправление ошибки #ИМЯ? #ПУСТО! |
Эта ошибка отображается, если Excel не распознает текст в формуле. Например имя диапазона или имя функции написано неправильно. Примечание: Если вы используете функцию, убедитесь, что ее имя написано неправильно. В данном случае слово СУММ введено с ошибкой. Удалите «а», и Excel исправит формулу.
|
Исправление ошибки #ПУСТО! |
Эта ошибка отображается в Excel, когда вы указываете пересечение двух областей, которые не пересекаются. Оператором пересечения является пробел, разделяющий ссылки в формуле. Примечание: Убедитесь, что диапазоны разделены правильно: области C2:C3 и E4:E6 не пересекаются, поэтому ввод формулы =СУММ(C2:C3 E4:E6) возвращает #NULL! Если позиция, которую вы указали, находится перед первым или после последнего элемента в поле, формула возвращает ошибку #ССЫЛКА!. Если поставить запятую между диапазонами C и E, она будет исправлена =СУММ(C2:C3;E4:E6)
|
Исправление ошибки #ЧИСЛО! #ПУСТО! |
Эта ошибка отображается в Excel, если формула или функция содержит недопустимые числовые значения. Используете ли вы функцию, которая выполняет итерацию, например IRR или RATE? Если да, то #NUM! ошибка, вероятно, из-за того, что функция не может найти результат. Инструкции по устранению неполадок см. в разделе справки. |
Исправление ошибки #ССЫЛКА! #ПУСТО! |
Эта ошибка отображается в Excel при наличии недопустимой ссылки на ячейку. Например, вы удалили ячейки, на которые ссылались другие формулы, или вставили поверх них другие ячейки. Вы случайно удалили строку или столбец? Смотрите, что произошло после удаления столбца B в формуле =СУММ(A2;B2;C2). Нажмите кнопку Отменить (или клавиши CTRL+Z), чтобы отменить удаление, измените формулу или используйте ссылку на непрерывный диапазон (=СУММ(A2:C2)), которая автоматически обновится при удалении столбца B.
|
Исправление ошибки #ЗНАЧ! #ПУСТО! |
Эта ошибка отображается в Excel, если в формуле используются ячейки, содержащие данные не того типа. Вы используйте математические операторы (+, -, *, / ^) с разными типами данных? В таком случае попробуйте использовать вместо них функцию. В этом случае =СУММ(F2:F5) поможет устранить проблему.
|
Если ячейки не видны на листе, для просмотра их и содержащихся в них формул можно использовать панель инструментов «Окно контрольного значения». С помощью окна контрольного значения удобно изучать, проверять зависимости или подтверждать вычисления и результаты формул на больших листах. При этом вам не требуется многократно прокручивать экран или переходить к разным частям листа.
Эту панель инструментов можно перемещать и закреплять, как и любую другую. Например, можно закрепить ее в нижней части окна. На панели инструментов выводятся следующие свойства ячейки: 1) книга, 2) лист, 3) имя (если ячейка входит в именованный диапазон), 4) адрес ячейки 5) значение и 6) формула.
Примечание: Для каждой ячейки может быть только одно контрольное значение.
Добавление ячеек в окно контрольного значения
-
Выделите ячейки, которые хотите просмотреть.
Чтобы выделить все ячейки с формулами, на вкладке Главная в группе Редактирование нажмите кнопку Найти и выделить (вы также можете нажать клавиши CTRL+G или CONTROL+G на компьютере Mac). Затем выберите Выделить группу ячеек и Формулы.
-
На вкладке Формулы в группе Зависимости формул нажмите кнопку Окно контрольного значения.
-
Нажмите кнопку Добавить контрольное значение.
-
Убедитесь, что вы выделили все ячейки, которые хотите отследить, и нажмите кнопку Добавить.
-
Чтобы изменить ширину столбца, перетащите правую границу его заголовка.
-
Чтобы открыть ячейку, ссылка на которую содержится в записи панели инструментов «Окно контрольного значения», дважды щелкните запись.
Примечание: Ячейки, содержащие внешние ссылки на другие книги, отображаются на панели инструментов «Окно контрольного значения» только в случае, если эти книги открыты.
Удаление ячеек из окна контрольного значения
-
Если окно контрольного значения не отображается, на вкладке Формула в группе Зависимости формул нажмите кнопку Окно контрольного значения.
-
Выделите ячейки, которые нужно удалить.
Чтобы выделить несколько ячеек, щелкните их, удерживая нажатой клавишу CTRL.
-
Нажмите кнопку Удалить контрольное значение.
Иногда трудно понять, как вложенная формула вычисляет конечный результат, поскольку в ней выполняется несколько промежуточных вычислений и логических проверок. Но с помощью диалогового окна Вычисление формулы вы можете увидеть, как разные части вложенной формулы вычисляются в заданном порядке. Например, формулу =ЕСЛИ(СРЗНАЧ(D2:D5)>50;СУММ(E2:E5);0) будет легче понять, если вы увидите промежуточные результаты:
В диалоговом окне «Вычисление формулы» |
Описание |
=ЕСЛИ(СРЗНАЧ(D2:D5)>50;СУММ(E2:E5);0) |
Сначала выводится вложенная формула. Функции СРЗНАЧ и СУММ вложены в функцию ЕСЛИ. Диапазон ячеек D2:D5 содержит значения 55, 35, 45 и 25, поэтому функция СРЗНАЧ(D2:D5) возвращает результат 40. |
=ЕСЛИ(40>50;СУММ(E2:E5);0) |
Диапазон ячеек D2:D5 содержит значения 55, 35, 45 и 25, поэтому функция СРЗНАЧ(D2:D5) возвращает результат 40. |
=ЕСЛИ(ЛОЖЬ;СУММ(E2:E5);0) |
Поскольку 40 не больше 50, выражение в первом аргументе функции ЕСЛИ (аргумент лог_выражение) имеет значение ЛОЖЬ. Функция ЕСЛИ возвращает значение третьего аргумента (аргумент значение_если_ложь). Функция СУММ не вычисляется, поскольку она является вторым аргументом функции ЕСЛИ (аргумент значение_если_истина) и возвращается только тогда, когда выражение имеет значение ИСТИНА. |
-
Выделите ячейку, которую нужно вычислить. За один раз можно вычислить только одну ячейку.
-
Откройте вкладку Формулы и выберите Зависимости формул > Вычислить формулу.
-
Нажмите кнопку Вычислить, чтобы проверить значение подчеркнутой ссылки. Результат вычисления отображается курсивом.
Если подчеркнутая часть формулы является ссылкой на другую формулу, нажмите кнопку Шаг с заходом, чтобы отобразить другую формулу в поле Вычисление. Нажмите кнопку Шаг с выходом, чтобы вернуться к предыдущей ячейке и формуле.
Кнопка Шаг с заходом недоступна для ссылки, если ссылка используется в формуле во второй раз или если формула ссылается на ячейку в отдельной книге.
-
Продолжайте нажимать кнопку Вычислить, пока не будут вычислены все части формулы.
-
Чтобы посмотреть вычисление еще раз, нажмите кнопку Начать сначала.
-
Чтобы закончить вычисление, нажмите кнопку Закрыть.
Примечания:
-
Некоторые части формул, в которых используются функции ЕСЛИ и ВЫБОР, не вычисляются. В таких случаях в поле Вычисление отображается значение #Н/Д.
-
Если ссылка пуста, в поле Вычисление отображается нулевое значение (0).
-
Некоторые функции вычисляются заново при каждом изменении листа, так что результаты в диалоговом окне Вычисление формулы могут отличаться от тех, которые отображаются в ячейке. Это функции СЛЧИС, ОБЛАСТИ, ИНДЕКС, СМЕЩ, ЯЧЕЙКА, ДВССЫЛ, ЧСТРОК, ЧИСЛСТОЛБ, ТДАТА, СЕГОДНЯ, СЛУЧМЕЖДУ.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Отображение связей между формулами и ячейками
Рекомендации, позволяющие избежать появления неработающих формул
Нужна дополнительная помощь?
Содержание
- Ошибки в Excel
- Ошибка #ИМЯ?
- Ошибка #ЧИСЛО!
- Ошибка #ЗНАЧ!
- Ошибка #ССЫЛКА
- Ошибка #ДЕЛ/0!
- Ошибка #Н/Д
- Ошибка #ПУСТО!
- Ошибка ####
- Microsoft Excel
- Какие существуют ошибки в Excel и как их исправлять
- Обработка ошибок с помощью функции ЕОШИБКА()
- Excel неправильно считает. Почему?
Ошибки в Excel
Если Excel не может правильно оценить формулу или функцию рабочего листа; он отобразит значение ошибки – например, #ИМЯ?, #ЧИСЛО!, #ЗНАЧ!, #Н/Д, #ПУСТО!, #ССЫЛКА! – в ячейке, где находится формула. Разберем типы ошибок в Excel, их возможные причины, и как их устранить.
Ошибка #ИМЯ?
Ошибка #ИМЯ появляется, когда имя, которое используется в формуле, было удалено или не было ранее определено.
Причины возникновения ошибки #ИМЯ?:
- Если в формуле используется имя, которое было удалено или не определено.
Ошибки в Excel – Использование имени в формуле
Устранение ошибки: определите имя. Как это сделать описано в этой статье.
- Ошибка в написании имени функции:
Ошибки в Excel – Ошибка в написании функции ПОИСКПОЗ
Устранение ошибки: проверьте правильность написания функции.
- В ссылке на диапазон ячеек пропущен знак двоеточия (:).
Ошибки в Excel – Ошибка в написании диапазона ячеек
Устранение ошибки: исправьте формулу. В вышеприведенном примере это =СУММ(A1:A3).
- В формуле используется текст, не заключенный в двойные кавычки. Excel выдает ошибку, так как воспринимает такой текст как имя.
Ошибки в Excel – Ошибка в объединении текста с числом
Устранение ошибки: заключите текст формулы в двойные кавычки.
Ошибки в Excel – Правильное объединение текста
Ошибка #ЧИСЛО!
Ошибка #ЧИСЛО! в Excel выводится, если в формуле содержится некорректное число. Например:
- Используете отрицательное число, когда требуется положительное значение.
Ошибки в Excel – Ошибка в формуле, отрицательное значение аргумента в функции КОРЕНЬ
Устранение ошибки: проверьте корректность введенных аргументов в функции.
- Формула возвращает число, которое слишком велико или слишком мало, чтобы его можно было представить в Excel.
Ошибки в Excel – Ошибка в формуле из-за слишком большого значения
Устранение ошибки: откорректируйте формулу так, чтобы в результате получалось число в доступном диапазоне Excel.
Ошибка #ЗНАЧ!
Данная ошибка Excel возникает в том случае, когда в формуле введён аргумент недопустимого значения.
Причины ошибки #ЗНАЧ!:
- Формула содержит пробелы, символы или текст, но в ней должно быть число. Например:
Ошибки в Excel – Суммирование числовых и текстовых значений
Устранение ошибки: проверьте правильно ли заданы типы аргументов в формуле.
- В аргументе функции введен диапазон, а функция предполагается ввод одного значения.
Ошибки в Excel – В функции ВПР в качестве аргумента используется диапазон, вместо одного значения
Устранение ошибки: укажите в функции правильные аргументы.
- При использовании формулы массива нажимается клавиша Enter и Excel выводит ошибку, так как воспринимает ее как обычную формулу.
Устранение ошибки: для завершения ввода формулы используйте комбинацию клавиш Ctrl+Shift+Enter .
Ошибки в Excel – Использование формулы массива
Ошибка #ССЫЛКА
В случае если формула содержит ссылку на ячейку, которая не существует или удалена, то Excel выдает ошибку #ССЫЛКА.
Ошибки в Excel – Ошибка в формуле, из-за удаленного столбца А
Устранение ошибки: измените формулу.
Ошибка #ДЕЛ/0!
Данная ошибка Excel возникает при делении на ноль, то есть когда в качестве делителя используется ссылка на ячейку, которая содержит нулевое значение, или ссылка на пустую ячейку.
Ошибки в Excel – Ошибка #ДЕЛ/0!
Устранение ошибки: исправьте формулу.
Ошибка #Н/Д
Ошибка #Н/Д в Excel означает, что в формуле используется недоступное значение.
Причины ошибки #Н/Д:
- При использовании функции ВПР, ГПР, ПРОСМОТР, ПОИСКПОЗ используется неверный аргумент искомое_значение:
Ошибки в Excel – Искомого значения нет в просматриваемом массиве
Устранение ошибки: задайте правильный аргумент искомое значение.
- Ошибки в использовании функций ВПР или ГПР.
Устранение ошибки: см. раздел посвященный ошибкам функции ВПР
- Ошибки в работе с массивами: использование не соответствующих размеров диапазонов. Например, аргументы массива имеют меньший размер, чем результирующий массив:
Ошибки в Excel – Ошибки в формуле массива
Устранение ошибки: откорректируйте диапазон ссылок формулы с соответствием строк и столбцов или введите формулу массива в недостающие ячейки.
- В функции не заданы один или несколько обязательных аргументов.
Ошибки в Excel – Ошибки в формуле, нет обязательного аргумента
Устранение ошибки: введите все необходимые аргументы функции.
Ошибка #ПУСТО!
Ошибка #ПУСТО! в Excel возникает когда, в формуле используются непересекающиеся диапазоны.
Ошибки в Excel – Использование в формуле СУММ непересекающиеся диапазоны
Устранение ошибки: проверьте правильность написания формулы.
Ошибка ####
Причины возникновения ошибки
- Ширины столбца недостаточно, чтобы отобразить содержимое ячейки.
Ошибки в Excel – Увеличение ширины столбца для отображения значения в ячейке
Устранение ошибки: увеличение ширины столбца/столбцов.
- Ячейка содержит формулу, которая возвращает отрицательное значение при расчете даты или времени. Дата и время в Excel должны быть положительными значениями.
Ошибки в Excel – Разница дат и часов не должна быть отрицательной
Устранение ошибки: проверьте правильность написания формулы, число дней или часов было положительным числом.
Источник
Microsoft Excel
трюки • приёмы • решения
Какие существуют ошибки в Excel и как их исправлять
Когда вы вводите или редактируете формулу, а также когда меняется одно из входных значений функции, Excel может показать одну из ошибок вместо значения формулы. В программе предусмотрено семь типов ошибок. Давайте рассмотрим их описание и способы устранения.
- #ДЕЛ/О! — данная ошибка практически всегда означает, что формула в ячейке пытается разделить какое-то значение на ноль. Чаще всего это происходит из-за того, что в другой ячейке, ссылающейся на данную, находится нулевое значение или значение отсутствует. Вам необходимо проверить все связанные ячейки на предмет наличия таких значений. Также данная ошибка может возникать, когда вы вводите неправильные значения в некоторые функции, например в ОСТАТ() , когда второй аргумент равен 0. Также ошибка деления на ноль может возникать, если вы оставляете пустые ячейки для ввода данных, а какая-либо формула требует некоторые данные. При этом будет выведена ошибка #ДЕЛ/0!, что может смутить конечного пользователя. Для этих случаев вы можете использовать функцию ЕСЛИ() для проверки, например =ЕСЛИ(А1=0;0;В1/А1) . В этом примере функция вернет 0 вместо ошибки, если в ячейке А1 находится нулевое или пустое значение.
- #Н/Д — данная ошибка расшифровывается как недоступно, и это означает, что значение недоступно функции или формуле. Вы можете увидеть такую ошибку, если введете неподходящее значение в функцию. Для исправления проверьте прежде всего входные ячейки на предмет ошибок, особенно если в них тоже появляется данная ошибка.
- #ИМЯ? — данная ошибка возникает, когда вы неправильно указываете имя в формуле или ошибочно задаете имя самой формулы. Для исправления проверьте еще раз все имена и названия в формуле.
- #ПУСТО! — данная ошибка связана с диапазонами в формуле. Чаще всего она возникает, когда в формуле указывается два непересекающихся диапазона, например =СУММ(С4:С6;А1:С1) .
- #ЧИСЛО! — ошибка возникает, когда в формуле присутствуют некорректные числовые значения, выходящие за границы допустимого диапазона.
- #ССЫЛКА! — ошибка возникает, когда были удалены ячейки, на которые ссылается данная формула.
- #ЗНАЧ! — в данном случае речь идет об использовании неправильного типа аргумента для функции.
Если при вводе формулы вы случайно неправильно расставили скобки, Excel выведет на экран предупреждающее сообщение — см. рис. 1. В этом сообщении вы увидите предположение Excel о том, как их необходимо расставить. В случае если вы подтверждаете такую расстановку, нажмите Да. Но зачастую требуется собственное вмешательство. Для этот нажмите Нет и исправьте скобки самостоятельно.
Обработка ошибок с помощью функции ЕОШИБКА()
Перехватить любые ошибки и обработать их можно с помощью функции ЕОШИБКА() . Данная функция возвращает истину или ложь в зависимости от того, появляется ли ошибка при вычислении ее аргумента. Общая формула для перехвата выглядит так: =ЕСЛИ(ЕОШИБКА(выражение);ошибка; выражение) .
Рис. 1. Предупреждающее сообщение о неправильно расставленных скобках
Функция если вернет ошибку (например, сообщение), если при расчете появляется ошибка. Например, рассмотрим следующую формулу: =ЕСЛИ(ЕОШИБКА(А1/А2);»»; А1/А2) . При возникновении ошибки (деление на 0) формула возвращает пустую строку. Если же ошибки не возникает, возвращается само выражение А1/А2 .
Существует другая, более удобная функция ЕСЛИОШИБКА() , которая совмещает две предыдущие функции ЕСЛИ() и ЕОШИБКА() : ЕСЛИОШИБКА(значение;значение при ошибке) , где: значение — выражение для расчета, значение при ошибке — возвращаемый результат в случае ошибки. Для нашего примера это будет выглядеть так: =ЕСЛИОШИБКА(А1/А2;»») .
Источник
Excel неправильно считает. Почему?
Часто при вычислении разницы двух ячеек в 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-рублевого калькулятора 🙂
Статья помогла? Поделись ссылкой с друзьями!
Источник
Проблемы с вычислением формул в Microsoft Excel
Смотрите также 87,834 вместо нужных: Спасибо)))))))))) Я бестолковая))))))))))))))) с непонятками, жмите иногда появляются такие ято у меня стоит гляньте на результат. просто Enter, а углу, в строке всего неправильно в придется ввести диапазон автообновление в параметрах#Н/Д. меняется, то есть, формулы в стандартном. На ленте вОдной из наиболее востребованных
87,593. И такF1sh
Устранение проблем с вычислением
правую кнопку мыши, вот некорреткные цифрыNic70y количество знаков после Excel, несмотря на Ctrl+Shift+Enter. Формула при состояния.Код =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;диапазон) функцию СУММ попадают, вручную книги. Также, нередко
Способ 1: изменение формата ячеек
В этом случае нужно результат не пересчитывается. порядке с выводом блоке инструментов возможностей Excel является по каждой строке: Возник странный феномен выбирайте спецвставку, ставьте и как их, дал правильный рецепт, запятой два, извините, Ваше утверждение, считает этом будет заключенаRankor доп. ячейки, скрытые,* для проверки вместо корректного результата проверить, правильно ли Это означает, что результата в указанную«Число»
- работа с формулами. ((( в excel. Сразу точку на «Значения» все быстро убрать? но применять его но не могу правильно :-) в фигурные скобки: Подскажите пожалуйста. Почему которые Вы не и быстрого нахождения в ячейке отображается записаны данные в у вас неправильно
- ячейку.имеется поле отображения Благодаря данной функцииPandacrash говорю, дело не и галку на_Boroda_
- надо разумно. понять что неGuest — {}. в моем файле выделяете когда, выбираете суммы используй строку ошибка. Тут нужно ячейках, на которые настроены параметры вычисленийНо возможно причина того, текущего формата. Если программа самостоятельно производит: Тут ни фига в округлении, я «сложить» и жмакайте: Потому, что нужно
- pollux87io так.: Большое спасибо заЮрий сумма (ячейка А31) «руками». состояния. если выделить просмотреть все значения, ссылается выражение, нет в данной книге. что вместо результатов там указано значение различного рода расчеты не видно. Сделайте умею им пользоваться. «ОК»
- определиться, какой у: Спасибо!!!vikttur помощь, это меня: Помогите пожалуйста с считается не верно?Если не поможет
диапазон, содержащий более на которые ссылается ли в нихПерейдите во вкладку расчета у вас
Способ 2: отключение режима «Показать формулы»
«Текстовый» в таблицах. Но скриншот с помощьюИтак, проблема вSkyPro Вас разделитель целойoksana20777: Поставьте знаков «4» калькулятор сбил с
- проблемой. И как это прикрепите файл. 1 числа, внизу функция. В случае ошибок в синтаксисе«Файл» отображаются выражения, состоит, то формула точно иногда случается так,
- ножниц. следующем:: скопируйте пустую ячейку, и дробной части.
Способ 3: исправление ошибки в синтаксисе
: помогите, пожалуйста. и попробуйте посчитать толку со своимиСделал в Excel вылечить?Tungus в правой половине обнаружения ошибки следует или не заложено. Находясь в ней, в том, что вычисляться не будет. что пользователь вписываетJ()kerЕсть два числа, выделите диапазон значений Точка или запятая.Возникла следующая ситуация:
сумму. 82коп. накладную, все считаетЮрий М: Спасибо! Разобрался. Не строки можно увидеть:
Способ 4: включение пересчета формулы
устранить её. ли в самой следует кликнуть по в программе включенДля того, чтобы произвести формулу в ячейку,: ошибка в формате которые были получены и через спец.Допустим, нужна запятая.у меня естьvikttur
- Guest правильно, а вот: А на какую нужные ячейки были в екселе 1997-2003Автор: Максим Тютюшев формуле какое-либо некорректное
- пункту режим смену формата достаточно но она не ячеек/формуле суммированием чисел, округленных вставку «сложить».Жмете Контрл+Н (латинская таблица с 3: То, что Вы: не помогает там где итого сумму Вы рассчитывали? скрыты фильтром, формула на выбор сумму/среднее/макс/мин/?Abram pupkin действие (например, деление«Параметры»«Показать формулы» кликнуть по данному выполняет своего прямогоВадим сухотин до одного знакаВизуально определить текст
АШ), в первую колонками в 1-й видите и то,vikttur считает неправильно 467
Способ 5: ошибка в формуле
У Вас их считала. Теперь (изменить правой кнопкой): если файл загрузить на 0)... полю. Откроется список назначения – вычисления: А с чего после запятой. Соответственно,
- в ячейке или
- строку вводите точку,
- сумма в грн.,
- что находится в
- : То неправильно считает,
055,68 там половина данных другой вопрос! Как ; в екселе сюда , аЕсли функция сложная, сОткроется окно параметров. НужноЧтобы включить отображение итогов, выбора форматирования, где результата. Давайте разберемся, вы взяли, что числа тоже имеют
число: во вторую запятую, во 2-й курс ячейке — разные то не помогает
- 93 411,14 не числа, а сделать так чтобы 2007 сразу несколько здесь выложить ссылку большим количеством связанных перейти в раздел переходим во вкладку можно выбрать значение,
- с чем это неправильно считает? Бывает, один знак послевыравнивание по правому жмете «Заменить все». доллара на дату числа. Если результат
:)560 466,81 текст. формула не считала этих функций для скачивания, тогда: ячеек, то легче«Формулы»«Формулы» соответствующее сути формулы. может быть связано, что значение, которое запятой. Если поставить краю — число.Джонатан и в 3-й нужен другой, используйтеФормула массива, заканчиваетеGuestKuklP скрытые ячейки?Sasha serkovа) мы не проследить вычисления с. В блоке настроек. На ленте вНо выбор типов формата и как решить вы видите в формат на 30по левому -: Там не все сумма в долларах. функции округления (их
ввод формулы одновременным
lumpics.ru
Почему в эксель сумму считает неправильно?
:: «СУММ» правильно считаетSKAt63: Отличия функций суммирования: будем играть в
помощью специального инструмента.«Параметры вычислений» блоке инструментов
через ленту не данную проблему. ячейке, неточно соответствует
знаков после запятой, текст.
так просто ,у
Так вот при в Excel несколько). нажатием Ctrl-Shift-Enter, поЮрий М сумму. Просто у
: Видимо только в
сумм () и
угадайку
Выделяем ячейку с ошибкой.
, который расположен в
«Зависимости формул» такой обширный, какСкачать последнюю версию значению, содержащемуся в
будет 29 нолей,
ваше кунг-фу круче всех цифр в расчете итоговой суммы
Округлять или сумму, краям формулы должны: Проверьте округление
Вас в половине
рукопашную, складывать ячейки промежуточные итоги ()б) найдем ошибку Переходим во вкладку самом верху окна,, если кнопка через специализированное окно. Excel
ячейке, а вот числа моего моем примере разделитель сумма в гривнах
или C*D. появиться фигурные скобки.Guest ячеек не число, которые требуют сложения, и чем лучше и укажем на«Формулы» если в параметре«Показать формулы» Поэтому лучше применитьПричины проблем с вычислением в вычисления берётсяточно
Джонатан один и это положительное число, акаррмеллюкНе хотите так,: Да, числовой, пробовал
а текст. скопируйте возможен вариант вынос
пользоваться. нее. На ленте в«Вычисления в книге»активна, то кликаем второй вариант форматирования. формул в Экселе именно значение, содержащеесяокруглены до одного
: Пока разбирался почему точка.Почему то те в долларах получается
Excel 2010 не правильно считает сумму!
: подиграйте применяйте другие форматы и пустую ячейку, выделите скрытых ячеек вверхСсылка на этов) предоставим правильное блоке инструментов, переключатель не установлен по ней. Выделяем целевой диапазон. могут быть совершенно
в ней, а знака! вы цепляетесь к цифры которые выравниваются отрицательное=ЗНАЧЕН(ФИКСИРОВАННЫЙ( число ))=СУММПРОИЗВ(ОКРУГЛ(D2:D69;2)*1)
количество знаков, ничего ряд чисел, специальная или в них видео https://youtu.be/JCZC2OIYw7o решение«Зависимости формул» в позициюПосле этих действий в Кликаем по нему
разными. Они могут не отображаемое.
Эти числа равны. точке я нашел по левому краю!!!! (такого просто=ЗНАЧЕН(ФИКСИРОВАННЫЙ( округл( число;3Guest не получается. вставка — сложить. таблицы и сложить
Юрий снегурВозможные варианты:кликаем по кнопке«Автоматически» ячейках снова вместо правой кнопкой мыши. быть обусловлены, какПример: в формате Т.е. если я бытовое решение моей
ячейки сумма не не может быть)
)): Спасибо, функцию вставил,
Юрий М
vikttur
с помощью функции: Abram Pupkin, благодарен.- в столбце«Вычислить формулу», то это и синтаксиса функций начнет В контекстном меню настройками конкретной книги ячейки определено, что напишу формулу, например, проблемы!Вобщем если у считает.Понимаю, что скорееpollux87io но это тоже: Покажите нам этот
: Функция считает правильно. «СУММ ()» Впервые с этим используются значения 2-х. есть причина того, отображаться результат. выбираем пункт или даже отдельного показывать надо три =А1=В1, она покажет
CyberForum.ru
Почему «СУММ» неправильно считает сумму
кого либо иногдаОхохо ,простите ,почему всего вопрос в: В примере если самое, что в столбик цифр. В Она суммирует числа,
Конкретно указать диапазон столкнулся. Думал у видов: чистые числаОткрывается окно, в котором что результат вычисленийФормула также может отображаться«Формат ячеек»
диапазона ячеек, так цифры после точки значение «ИСТИНА». в процессе обработки то когда я формате данных, но сложить 8130.44 + параметрах отметить «точность файле.
игнорирует текст. А суммирования меня office заражён, и числа с представляется полный расчет. неактуальный. Переставляем переключатель как текст, если. Можно также после
и различными ошибками или запятой (12.234),Но при этом
массивов данных возникают переводил кусок примера уже 2-й день 36.03 = 8166.47, как на экране»Sh_Alex в диапазоне добраяИспользовать формулу суммирования
проверил нормально. Собрался рублями, Нажимаем на кнопку в нужную позицию.
в её синтаксисе выделения диапазона нажать
в синтаксисе.
а хранится там если вычесть числа
левые цифры которые в другой файл
не могу разобраться а ексель пишетAleksandr72: Запишите формулу так: половина — числа с условием уже переустанавливать, типа23
planetaexcel.ru
Excel неправильно считает
«Вычислить» После выполнения вышеуказанных были допущены ошибки,
комбинацию клавишОдной из самых распространенных значение с пятью друг из друга, почему то не эксель решил что
. Помогите.
8166.48. Как это
: Добрый день. Сижу =ОКРУГЛ(467 055,68;2)+ОКРУГЛ(93 411,14;2),
в текстовом форматеИспользовать структуру
глюки, но вот56руби просматриваем вычисление настроек для их например, пропущена или
Ctrl+1 причин, по которой цифрами (12.23432). Вы ноль не получается!
считаются в сумме(хотя разделитель теперь запятаяДля наглядности пересылаю исправить? и не могу или округляйте до
(зеленые треугольнички видите?)
Использовать сводную таблицу всё получилось.12
пошагово. Ищем ошибку сохранения в нижней изменена буква. Если. Эксель вообще не для проверки на Получается очень маленькое
там и все ,в целом проблема
файл
bmv98rus сделать так, чтобы
двух знаков получаемыеВыделить диапазон, нажатьВарианты зависят отСшор№15 башкортостанОтвет =35 и устраняем её. части окна жмем вы вводили еёОткрывается окно форматирования. Переходим считает или не калькуляторе берёте значение,
число! в порядке с там в другом!ПосмотритеChe79: pollux87io, формула считала правильно.
по формулам числа. появившийся восклицательный знак,
файлаС подобными формулами: Я загрузил файл!- скрытые строкиКак видим, причины того,
на кнопку вручную, а не во вкладку правильно считает формулы, которое видите, а
Файл прилагаю. форматом)Попробуйте поменять у
еще раз пожалуйста.
:Посмотрите, у вас Видимо все происходитС уважением, Александр. «Преобразовать в число». в Excel’e не
Посмотрите пожалуйста- в качестве что Эксель не«OK» через«Число» является неверно выставленный Excel — значение,Пожалуйста, объясните мне, всех цифр вSkyProoksana20777 8130.44 на самом из за округления.GuestЕще вариант. Копировать сталкивался, чтобы не
Saratovss разделителя целой части считает или не.Мастер функций
. В блоке формат ячеек. Если которое знает. Отсюда
как возможна такая столбце вначале точку: Выделить столбец -, прочитайте Правила форума, деле 8130,443122 и Пытаюсь сам сделать: Прикрепленные файлы post_99607.png пустую ячейку (это считали скрытые ячейки,
: Всем Привет! Кто используется точка (надо правильно считает формулы,Теперь все выражения в
, то такое вполне«Числовые форматы» диапазон имеет текстовый возможны расхождения. чушь? Excel считать на запятую ,а ctrl+H — заменить создайте отдельную тему 36.03 36.03333 и не получается. Подскажите (18.04 КБ)
будет «0»), выделить только как и
сталкивался с простой
запятую) могут быть совершенно
planetaexcel.ru
Почему excel неправильно считает сумму (Формулы/Formulas)
данной книге будут вероятно. Очень распространеннойвыбираем тот формат, формат, то расчетЕщё вариант: могут не умеет, или потом наоборот!)все будет
все точки на со своим вопросом.
результат 8166.4764 . как правильно ввестиЮрий М диапазон, меню Правка-Спецвставка-Сложить-ОК. сказал Fairuza создавать формулой “=СУММ()”-неправильно считаетP.S. различными. Если вместо
автоматически пересчитываться при ошибкой, связанной с который нам нужен. выражений в нем
быть скрытые строки, у меня руки ок!Спасибо большое! запятые или наоборот.
oksana20777 Округление до второго формулу. В результате: Юрий, мы ведь при суммировании числа доп. листы (с сумму. В пересчетепросьба не путать расчета у пользователя изменении любого связанного отображением выражения, как Кроме того, в
вообще не производится, которых вы не
кривые?incanta
Но с разделителем
: Che79, спасибо, создала знака в формате сложения сумма получилась разговор ведём про в текстовом формате итогами, структурами, таблицами “руками” ячейка+ячейка+ячейка и файлообменник и мою
отображается сама функция, значения. текста, является наличие правой части окна то есть, они видите, но вSergeyKorotun: Добрый день!
«точка» эксель считаетДжонатан вводит в заблуждение. 858,85, но из Excel? Нет ли с нулем первое
и т.п.) или т.д. все верно,
личную почту тот в этомЕсли же программа все-таки пробела перед знаком имеется возможность выбрать отображаются как обычный
расчёт суммы они: погуглите, набрав например
excelworld.ru
Не корректно считает сумму! (Формулы)
Проблема в том, цифры текстом.: Еще 15 минутNic70y чисел видно что у Вас возможности превращается в число. использовать разного рода а формулой суммуIvan kunin случае, скорее всего, производит расчет, но«=» тип представления конкретного текст. В других входят. Чтобы это «округление чисел в что в столбцеЕсли я не поискав по сайту
: в I10 и сумма на конце приложить именно xls?Третий вариант. Похож пометки, критерии на завышает как правило.
: очевидно формула с
либо ячейка отформатирована в результате показывает. формата. После того, случаях, если формат
проверить, пометьте все компьютере» формула расчета, но прав, меня поправят и не найдя ниже должна быть 858,86. Зачем нам «фотография»? на второй, но строки, которые нужно С чем может
ошибкой, проверь. под текст, либо ошибку, то тутВ таких случаях нужно как выбор произведен, не соответствует сути строки (именно строки,http://www.delphikingdom.com/asp/viewitem.asp?catalogID=1217 при этом финальную
Джонатан через поиск решения200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ОКРУГЛ(G10-J10;2) файл прикрепляюGuest
копировать «1» и считать (далее сумма быть связанно, и
пара советов: включен режим просмотра
вероятна ситуация, что внимательно пересмотреть синтаксис кликаем по кнопке рассчитываемых данных, результат, а не ячейки,KuklP сумму считает неправильно: Там в другом
своей проблемы (возможноbmv98rusvikttur: {/post}{/quote} …-Умножить-ОК. считается по формуле как поправить?* чтобы подсчитать выражений. Также, возможна пользователь просто ошибся тех формул, которые
«OK» выводимый в ячейку, для этого надо: Никакой не феномен. — не учитывает
проблема)простите за ваше я дибил,прошу простить,но:
: Не те числаВот в Excel
Четвертый. Суммировать формулой СУММЕСЛИ).
SKAt63 сумму в столбце
ошибка в синтаксисе при вводе выражения. неправильно отображаются, и, размещенной внизу. может отображаться некорректно. провести мышкой с Проблема в стандарте одно из значений время ,почему то я научусь иpollux87io смотрите — ониGuest массива:Есть такой вариант:: Вероятно цифры в не нужно ничего (например, наличие пробела Ошибочными формулами считаются внести в них
excelworld.ru
Неправильно считает сумму (Формулы/Formulas)
Выделите поочередно ячейки, в Давайте выясним, как
нажатой левой кнопкой IEEE 754 - — 1000. Предполагаю, эксель при переводе вскоре буду помогать, получаются от перемножения: =СУММ(ОКРУГЛ(D2:D69;2)) — массивом=СУММ(—A1:A30) если не нужен ячейке с некоторым
выделять сначала — перед знаком те, при расчете
соответствующие коррективы. которых функция не
excelworld.ru
Excel неправильно считает (Формулы)
решить эту проблему. по номерам строк), представления чисел с что ошибка в данных из файла таким же дибилам
только осторожнее с других чисел.
Юрий М5…n вариант. Пока вывод суммы на количеством цифр после ставишь курсор в«=» которых в ячейкеБывает и такая ситуация, считалась, и дляДля того, чтобы посмотреть, затем щелчок правой плавающей точкой. этой забитой формуле. в файл поменял как и я)
округлениями. на сколькоПосмотрите, что в: Подозрения подтвердились - хватит :) листе, то можно
запятой, которые в пустую ячейку внизу). В случае если появляются следующие значения: что формула вроде пересчета нажмите функциональную
какой формат имеет
кнопкой по выделениюОдин из вариантов. Помогите, пожалуйста! разделитель) я решил вновь я знаю, то
ячейках столбца Е: попробуйте для всехКак вводить формулу просто выделить нужные
расчете дают прибавку.
столбца и жмешь после изменения данных#ЧИСЛО!; и отображает значение, клавишу конкретная ячейка или
и выбор «Отобразить». Поставить в настройках_Boroda__Boroda_
excelworld.ru
Почему Excel неправильно считает сумму, как исправить?
обратиться к уважаемой сейчас принято считать меню Формат-Ячейки-Числовой-Число_десятичных-знаков-4. ячеек, где числа, массива:
ячейки, тогда Excel Примените ОКРУГЛ «автосумма» в связанных ячейках#ЗНАЧ!;
но при измененииF2 диапазон, переходим во
Если есть скрытые точность как на: В формуле 4-7: Хорошо, тогда копируйте публике.Посмотрите пожалуйста пример до десятитысячных рубляAleksandr72 установить числовой форматПосле введения формулы автоматически посчитает суммуSaratovss* если числа результат не обновляется,
#ПУСТО!; связанных с ней. вкладку строки, то они экране. строк кавычки уберите любую пустую ячейку, и объясните ,в и только в: я посмотрел столбец с тремя знаками в ячейку, ввод и отразит ее
: Проверьте нет ли в столбце разделены то тут нужно#ДЕЛ/0!; ячеек сама неТеперь будет производиться расчет«Главная» отобразятся.в столбце т/год выдаетincanta выделяйте свой столбик чем проблема ,почему конце округлять. Так Е. В нем после запятой, и завершается нажатием не в правом нижнем скрытых ячеек. Скорее пустыми ячейками, тогда
посмотреть, как настроено
Почему эксель неправильно считает сумму
Что делать, если Эксель не считает или неверно считает сумму
Приложение Эксель используют не только для создания таблиц. Его главным предназначением является расчет чисел по формулам. Достаточно вписать в ячейки новые значения и система автоматически пересчитает их. Однако, в некоторых случаях расчет не происходит. Тогда, необходимо выяснить, почему Эксель не считает сумму.
Основные причины неисправности
Эксель может не считать сумму или формулы по многим причинам. Проблема часто заключается, как в неправильной формуле, так и в системных настройках книги. Поэтому, рекомендуется воспользоваться несколькими советами, чтобы выяснить, какой именно подходит в данной конкретной ситуации.
Изменяем формат ячеек
Программа выводит неправильные расчеты, если указанные форматы не соответствуют значению, которое находится в ячейке. Тогда вычисление или вообще не будет применяться, или выдавать совсем другое число. Например, если формат является текстовым, то расчет проводится не будет. Для программы, это только текст, а не числа. Также, может возникнуть ситуация, когда формат не соответствует действительному. В таком случае, у пользователя не получится правильно вставить вычисление, и Эксель не посчитает сумму и не рассчитает результат формулы.
Чтобы проверить, действительно ли дело в формате, следует перейти во вкладку «Главная». Предварительно, необходимо выбрать непроверенную ячейку. В этой вкладке находится информация о формате.
Если его нужно изменить, достаточно нажать на стрелочку и выбрать требуемый из списка. После этого, система произведет новый расчет.
Список форматов в данном разделе полный, но без описаний и параметров. Поэтому в некоторых случаях пользователь не может найти нужный. Тогда, лучше воспользоваться другим методом. Так же, как и в первом варианте, следует выбрать ячейку. После этого кликнуть правой клавишей мыши и открыть команду «Формат ячеек».
В открытом окне находится полный список форматов с описанием и настройками. Достаточно выбрать нужный и нажать на «ОК».
Отключаем режим «Показать формулы»
Иногда пользователь может заметить, что вместо числа отображено само вычисление и формула в ячейке не считается. Тогда, нужно отключить данный режим. После этого система будет выводить готовый результат расчета, а не выражения.
Для отключения функции «Показать формулы», следует перейти в соответствующий раздел «Формулы». Здесь находится окно «Зависимости». Именно в нем расположена требуемая команда. Чтобы отобразить список всех зависимостей, следует кликнуть на стрелочке. Из перечня необходимо выбрать «Показать» и отключить данный режим, если он активен.
Ошибки в синтаксисе
Часто, неправильное отображение результата является следствием ошибок синтаксиса. Такое случается, если пользователь вводил вычисление самостоятельно и не прибегал к помощи встроенного мастера. Тогда, все ячейки с ошибками не будут выдавать расчет.
В таком случае, следует проверить правильное написание каждой ячейки, которая выдает неверный результат. Можно переписать все значения, воспользовавшись встроенным мастером.
Включаем пересчет формулы
Все вычисления могут быть прописаны правильно, но в случае изменения значений ячеек, перерасчет не происходит. Тогда, может быть отключена функция автоматического изменения расчета. Чтобы это проверить, следует перейти в раздел «Файл», затем «Параметры».
В открытом окне необходимо перейти во вкладку «Формулы». Здесь находятся параметры вычислений. Достаточно установить флажок на пункте «Автоматически» и сохранить изменения, чтобы система начала проводить перерасчет.
Ошибка в формуле
Программа может проводить полный расчет, но вместо готового значения отображается ошибка и столбец или ячейка может не суммировать числа. В зависимости от выводимого сообщения можно судить о том, какая неисправность возникла, например, деление на ноль или неправильный формат.
Для того, чтобы перепроверить синтаксис и исправить ошибку, следует перейти в раздел «Формулы». В зависимостях находится команда, которая отвечает за вычисления.
Откроется окно, которое отображает саму формулу. Здесь, следует нажать на «Вычислить», чтобы провести проверку ошибки.
Другие ошибки
Также, пользователь может столкнуться с другими ошибками. В зависимости от причины, их можно исправить соответствующим образом.
Формула не растягивается
Растягивание необходимо в том случае, когда несколько ячеек должны проводить одинаковые вычисления с разными значениями. Но бывает, что этого не происходит автоматически. Тогда, следует проверить, что установлена функция автоматического заполнения, которая расположена в параметрах.
Кроме того, рекомендуется повторить действия для растягивания. Возможно, ошибка была в неправильной последовательности.
Неверно считается сумма ячеек
Сумма также считается неверно, если в книге находятся скрытые ячейки. Их пользователь не видит, но система проводит расчет. В итоге, программа отображает одно значение, а реальная сумма должна быть другой.
Такая же проблема возникает, если отображены значения с цифрами после запятой. В таком случае их требуется округлить, чтобы вычисление производилось правильно.
Формула не считается автоматически
Эксель не будет считать формулу автоматически, если данная функция отключена в настройках. Пользователь может устранить данную проблему, если перейдет в параметры, которые находятся в разделе «Файл».
В открытом окне следует перейти к настройке автоматического перерасчета и установить флажок на соответствующей команде. После этого требуется сохранить изменения.
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 часа пытался обьяснить похожую ситуацию начальнице финотдела в банке, когда она с калькулятором в руке пересчитывала значения за экслем.
После ввода или корректировки формулы, а также при изменении любого значения функции иногда появляется ошибка формулы, а не требуемое значение. Всего табличный редактор распознает семь основных типов таких неправильных расчетов. Как выглядят ошибки в Excel и как их исправить — разберем ниже.
Сейчас мы опишем формулы, показанные на картинке с подробной информацией по каждой ошибке.
1. #ДЕЛ/О! – «деление на 0». Чаще всего возникает при попытке делить на ноль. То есть заложенная в ячейке формула, выполняя функцию деления, натыкается на ячейку с нулевым значением или где стоит «Пусто». Чтобы устранить проблему, проверьте все участвующие в вычислениях ячейки и исправьте все недопустимые значения. Второе действие, приводящее к #ДЕЛ/О! – это ввод неверных значений в некоторые функции. Такие как =СРЗНАЧ(), если при расчете в диапазоне значений стоит 0. Тот же результат спровоцируют незаполненные ячейки, к которым обращается формула, требующая их для расчета конкретных данных.
2. #Н/Д – «нет данных». Так Excel помечает значения, непонятные формуле (функции). Введя неподходящие цифры в функцию, вы обязательно вызовете эту ошибку. При ее появлении проследите, все ли входные ячейки заполнены правильно, а особенно те из них, где светится такая же надпись. Часто встречается при использовании =ВПР()
3. #ИМЯ? – «недопустимое имя». Показатель некорректного имени формулы или какой-то ее части. Проблема исчезает, если проверить и подправить все названия и имена, сопровождающие алгоритм вычислений.
4. #ПУСТО! – «в диапазоне пустое значение». Сигнал о том, что где-то в расчете прописаны непересекающиеся области или проставлен пробел между указанными диапазонами. Довольно редкая ошибка. Выглядеть ошибочная запись может так:
=СУММ(G10:G12 I8:J8)
Excel не распознает такие команды.
5. #ЧИСЛО! – ошибку вызывает формула, содержащая число, не соответствующее рамкам обозначенного диапазона.
6. #ССЫЛКА! – предупреждает о том, что исчезли ячейки, связанные с этой формулой. Проверьте, скорее всего были удалены ячейки, указанные в формуле.
7. #ЗНАЧ! – неверно выбран тип аргумента для работы функции.
8. Бонус, ошибка ##### — ширина ячейки недостаточна для отображения всего числа
Кроме того, Excel выдает предупреждение о неправильной формуле. Программа попытается подсказать вам, как именно следует сделать расстановку пунктуации (например скобок). Если предложенный вариант отвечает вашим требования, жмите «Да». Если подсказка требует ручной корректировки, тогда выберите «Нет» и переставьте скобки сами.
Содержание
- Ошибки в Excel. Применение функции ЕОШИБКА() для Excel 2003
- Ошибки в Excel. Применение ЕСЛИОШИБКА() для Excel 2007 и выше
- Похожие статьи
Ошибки в Excel. Применение функции ЕОШИБКА() для Excel 2003
Хорошо помогает ликвидировать ошибки в Excel функция =ЕОШИБКА(). Действует она путем нахождения ошибок в ячейки, если находит ошибку в формуле возвращает значение ИСТИНА и наоборот. В комбинации с =ЕСЛИ() она позволят заменить значение, если найдена ошибка.
Рабочая формула: =ЕСЛИ(ОШИБКА(выражение);ошибка;выражение).
=ЕСЛИ(ЕОШИБКА(А1/А2);””;А1/А2)
Пояснение: если при выполнении А1/А2 найдена ошибка, будет возвращено пусто («»). Если все прошло корректно (т.е. ЕОШИБКА(А1/А2) = ЛОЖЬ), то рассчитывается А1/А2.
Ошибки в Excel. Применение ЕСЛИОШИБКА() для Excel 2007 и выше
Одна из причин, почему я быстро перешел на Excel 2007, была ЕСЛИОШИБКА() (самая главная причина — это СУММЕСЛИМН)
Функция еслиошибка содержит возможности обеих функций – ЕОШИБКА() и ЕСЛИ(). Доступна в более новых версиях Excel, что очень удобно
Инструмент активируется следующим образом: =ЕСЛИОШИБКА(значение; значение при ошибке). Вместо «значение» ставится расчетное выражение/ссылка на ячейку, а вместо «значение при ошибке» — то, что следует вернуть при появлении неточности. Например, если при расчете А1/А2 выдается #ДЕЛ/О!, то формула будет выглядеть следующим образом:
=ЕСЛИОШИБКА(А1/А2;””)
Пример файла «Ошибки в формулах» качайте здесь
А так же рекомендую почитать почему формула может не считаться или считаться неправильно — здесь.
Содержание
- Как исправить ошибку #ПЕРЕНОС! в Excel
- Как исправить ошибку #ЗНАЧ! в Excel
- Как исправить ошибку #ПУСТО! в Excel
- Как исправить ошибку #ИМЯ? в Excel
Как исправить ошибку #ПЕРЕНОС! в Excel
Прежде чем рассмотреть ошибку #ПЕРЕНОС! (#SPILL), рассмотрим, что такое перенос. В Excel это означает, что формула возвращает несколько значений (массив), и они автоматически переносятся в соседние ячейки.
Диапазон переноса и значения внутри будут изменяться при обновлении источника данных.
Ошибка #ПЕРЕНОС! возникает, когда формула возвращает несколько значений, но Excel не может вывести один или несколько результатов.
У ошибки может быть множество причин. Поиск решения будет зависеть от используемой версии Excel.
- Веб-версия: наведите мышь на зеленый треугольник в верхнем левом углу ячейки с ошибкой #ПЕРЕНОС!. Появится сообщение с описанием ошибки.
- Десктопная версия: щелкните по ячейке с ошибкой #ПЕРЕНОС!. Нажмите на треугольник, который появится слева от ячейки. Причина ошибки будет указана в верхней части меню справки.
Рассмотрим решения, которые подойдут для наиболее распространенных вариаций этой ошибки.
Диапазон для переноса содержит одну или более ячеек с значениями
Решение: очистить диапазон для переноса.
Диапазон для переноса находится внутри таблицы
Решение 1: преобразовать таблицу в диапазон данных.
Для этого выполните следующие шаги:
- нажмите на любую ячейку в таблице,
- в меню в верхней части окна выберите «Конструктор»,
- выберите команду «Преобразовать в диапазон».
Обратите внимание, что расположение меню и списка команд могут отличаться в зависимости от версии.
Решение 2: переместить формулу за границы таблицы.
Диапазон для переноса содержит объединенные ячейки
Решение: разделить ячейки внутри диапазона.
Как исправить ошибку #ЗНАЧ! в Excel
Ошибка #ЗНАЧ! (#VALUE) возникает в следующих случаях:
- что-то не так с ячейкой (ячейками), на которую ссылается формула,
- что-то не так с самой формулой.
Иногда найти источник проблемы не просто. Ниже — о самых распространенных случаях и как и их исправить.
Математическая формула ссылается на текст
Формулы с математическими операторами могут вычислять только числа. Если одна или несколько ячеек, на которые ссылается формула, содержит текст, формула будет возвращать ошибку.
Решение: использовать вместо формулы (уравнения, составленного пользователем) функцию (формулу, заранее заданную Excel). Функции по умолчанию игнорируют большую часть текстовых значений и производят расчеты лишь с числами.
Например, на примере ниже функция =СУММ(B2,B11) будет игнорировать текст в ячейке B11.
Скриншот: Zapier.com
Стоит помнить, что эта функция не оповещает автоматически о пропусках ячеек, и ее результат может вводить в заблуждение.
Одна или более ячеек содержат пробелы
В этих случаях ячейка выглядит пустой.
Решение: найти и заменить пробелы. Вот как это сделать:
- выделите диапазон ячеек, к которому обращается формула;
- нажмите на иконку с биноклем, нажмите «Найти и выделить»;
- в окне «Найти и заменить» выберите «Заменить»;
- в поле «Найти» вставьте пробелы;
- поле «Заменить на» оставьте пустым;
- нажмите «Заменить все».
Как исправить ошибку #ПУСТО! в Excel
Ошибка #ПУСТО! (#REF) возникает, когда формулы ссылается на ячейку, которая уже не существует. Разберем наиболее распространенные причины возникновения ошибки и как их исправить.
Ячейка, на которую ссылается формула, удалена
Формула использует прямые ссылки на ячейки (каждая ячейка отделена запятой), но одна или несколько ячеек удалены. Это основная причина, почему Excel не рекомендует использовать прямые ссылки на ячейки.
Решение 1: Если ячейки удалены случайно, отмените это действие.
Решение 2: Обновите формулу, чтобы она ссылалась на диапазон ячеек. В этом случае Excel сможет произвести вычисления, даже если одна из ячеек была удалена.
Формула содержит относительные ссылки
Относительная ссылка означает, что используемые данные привязаны к ячейке, в которую вставлена формула. Например, если формулу =СУММ(B2:E2) скопировать из ячейки G2 в G3, Excel предположит, что должен суммировать все ячейки из колонок B-E в ряду 3.
Каждый раз, когда формула с относительными ссылками переносится в другую ячейку, ссылки автоматически меняются. И если установить связь невозможно, происходит ошибка.
Например, если формулу =СУММ(G2:G7) перенести в ячейку I4, Excel предположит, что пользователю требуется сложить шесть ячеек над клеткой I4. В данном случае это невозможно, так как доступны лишь три ячейки.
Решение: обновите формулу, чтобы включить в нее абсолютные значения. Это позволит созранить исходные ссылки, даже если формула будет перенесена. Для этого вставьте символ $ перед каждой буквой, обозначающей столбец, и номером ряда.
Например, формула =СУММ(G2:G7) с абсолютными ссылками будет выглядеть как: =СУММ($G$2:$G$7).
Как исправить ошибку #ИМЯ? в Excel
Ошибка #ИМЯ? (#NAME) возникает, если название формулы неверно написано. Рассмотрим основные решения проблемы.
Название формулы содержит опечатку
Решение: обновить название формулы. Лучший способ избегать опечаток — использовать встроенный редактор формул Excel. Когда пользователь начинает печатать название формулы, программа автоматически предложит список названий, содержащих те же буквы.
Неверное название формулы
Иногда пользователи вводят название несуществующей формулы или формулы, которая называется иначе (например, ПЛЮС вместо реальной функции СУММ). В этом случае формула вернет ошибку #ИМЯ?.
Решение: найти правильное имя формулы и обновить ее.
Вот как это сделать:
- выберите в меню раздел «Формулы»;
- нажмите на «Вставить функцию» в левой части панели инструментов, в открывшемся окне «Вставка функции» просмотрите недавно использовавшиеся функции или полный список всех доступных функций;
- выберите и вставьте нужную функцию;
- в редакторе формул обновите ячейки, к которым будет отсылаться формула (поля зависят от выбранной функции).
Эти советы применимы и к ошибкам в Google Таблицах (за исключением #ПЕРЕНОС!, которая часто отображается как #REF).
Источник.
Фото на обложке: Aihr.com
Подписывайтесь на наш Telegram-канал, чтобы быть в курсе последних новостей и событий!
Содержание
- Устранение проблем с вычислением
- Способ 1: изменение формата ячеек
- Способ 2: отключение режима «Показать формулы»
- Способ 3: исправление ошибки в синтаксисе
- Способ 4: включение пересчета формулы
- Способ 5: ошибка в формуле
- Вопросы и ответы
Одной из наиболее востребованных возможностей Excel является работа с формулами. Благодаря данной функции программа самостоятельно производит различного рода расчеты в таблицах. Но иногда случается так, что пользователь вписывает формулу в ячейку, но она не выполняет своего прямого назначения – вычисления результата. Давайте разберемся, с чем это может быть связано, и как решить данную проблему.
Устранение проблем с вычислением
Причины проблем с вычислением формул в Экселе могут быть совершенно разными. Они могут быть обусловлены, как настройками конкретной книги или даже отдельного диапазона ячеек, так и различными ошибками в синтаксисе.
Способ 1: изменение формата ячеек
Одной из самых распространенных причин, по которой Эксель вообще не считает или не правильно считает формулы, является неверно выставленный формат ячеек. Если диапазон имеет текстовый формат, то расчет выражений в нем вообще не производится, то есть, они отображаются как обычный текст. В других случаях, если формат не соответствует сути рассчитываемых данных, результат, выводимый в ячейку, может отображаться некорректно. Давайте выясним, как решить эту проблему.
- Для того, чтобы посмотреть, какой формат имеет конкретная ячейка или диапазон, переходим во вкладку «Главная». На ленте в блоке инструментов «Число» имеется поле отображения текущего формата. Если там указано значение «Текстовый», то формула точно вычисляться не будет.
- Для того, чтобы произвести смену формата достаточно кликнуть по данному полю. Откроется список выбора форматирования, где можно выбрать значение, соответствующее сути формулы.
- Но выбор типов формата через ленту не такой обширный, как через специализированное окно. Поэтому лучше применить второй вариант форматирования. Выделяем целевой диапазон. Кликаем по нему правой кнопкой мыши. В контекстном меню выбираем пункт «Формат ячеек». Можно также после выделения диапазона нажать комбинацию клавиш Ctrl+1.
- Открывается окно форматирования. Переходим во вкладку «Число». В блоке «Числовые форматы» выбираем тот формат, который нам нужен. Кроме того, в правой части окна имеется возможность выбрать тип представления конкретного формата. После того, как выбор произведен, кликаем по кнопке «OK», размещенной внизу.
- Выделите поочередно ячейки, в которых функция не считалась, и для пересчета нажмите функциональную клавишу F2.
Теперь будет производиться расчет формулы в стандартном порядке с выводом результата в указанную ячейку.
Способ 2: отключение режима «Показать формулы»
Но возможно причина того, что вместо результатов расчета у вас отображаются выражения, состоит в том, что в программе включен режим «Показать формулы».
- Чтобы включить отображение итогов, переходим во вкладку «Формулы». На ленте в блоке инструментов «Зависимости формул», если кнопка «Показать формулы» активна, то кликаем по ней.
- После этих действий в ячейках снова вместо синтаксиса функций начнет отображаться результат.
Способ 3: исправление ошибки в синтаксисе
Формула также может отображаться как текст, если в её синтаксисе были допущены ошибки, например, пропущена или изменена буква. Если вы вводили её вручную, а не через Мастер функций, то такое вполне вероятно. Очень распространенной ошибкой, связанной с отображением выражения, как текста, является наличие пробела перед знаком «=».
В таких случаях нужно внимательно пересмотреть синтаксис тех формул, которые неправильно отображаются, и внести в них соответствующие коррективы.
Способ 4: включение пересчета формулы
Бывает и такая ситуация, что формула вроде и отображает значение, но при изменении связанных с ней ячеек сама не меняется, то есть, результат не пересчитывается. Это означает, что у вас неправильно настроены параметры вычислений в данной книге.
- Перейдите во вкладку «Файл». Находясь в ней, следует кликнуть по пункту «Параметры».
- Откроется окно параметров. Нужно перейти в раздел «Формулы». В блоке настроек «Параметры вычислений», который расположен в самом верху окна, если в параметре «Вычисления в книге», переключатель не установлен в позицию «Автоматически», то это и есть причина того, что результат вычислений неактуальный. Переставляем переключатель в нужную позицию. После выполнения вышеуказанных настроек для их сохранения в нижней части окна жмем на кнопку «OK».
Теперь все выражения в данной книге будут автоматически пересчитываться при изменении любого связанного значения.
Способ 5: ошибка в формуле
Если же программа все-таки производит расчет, но в результате показывает ошибку, то тут вероятна ситуация, что пользователь просто ошибся при вводе выражения. Ошибочными формулами считаются те, при расчете которых в ячейке появляются следующие значения:
- #ЧИСЛО!;
- #ЗНАЧ!;
- #ПУСТО!;
- #ДЕЛ/0!;
- #Н/Д.
В этом случае нужно проверить, правильно ли записаны данные в ячейках, на которые ссылается выражение, нет ли в них ошибок в синтаксисе или не заложено ли в самой формуле какое-либо некорректное действие (например, деление на 0).
Если функция сложная, с большим количеством связанных ячеек, то легче проследить вычисления с помощью специального инструмента.
- Выделяем ячейку с ошибкой. Переходим во вкладку «Формулы». На ленте в блоке инструментов «Зависимости формул» кликаем по кнопке «Вычислить формулу».
- Открывается окно, в котором представляется полный расчет. Нажимаем на кнопку «Вычислить» и просматриваем вычисление пошагово. Ищем ошибку и устраняем её.
Как видим, причины того, что Эксель не считает или не правильно считает формулы, могут быть совершенно различными. Если вместо расчета у пользователя отображается сама функция, тот в этом случае, скорее всего, либо ячейка отформатирована под текст, либо включен режим просмотра выражений. Также, возможна ошибка в синтаксисе (например, наличие пробела перед знаком «=»). В случае если после изменения данных в связанных ячейках результат не обновляется, то тут нужно посмотреть, как настроено автообновление в параметрах книги. Также, нередко вместо корректного результата в ячейке отображается ошибка. Тут нужно просмотреть все значения, на которые ссылается функция. В случае обнаружения ошибки следует устранить её.