Почему при суммировании в excel получается 0
Перейти к содержимому

Почему при суммировании в excel получается 0

Что делать, если Эксель не считает или неверно считает сумму

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

Основные причины неисправности

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

Изменяем формат ячеек

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

Выбор формата

Чтобы проверить, действительно ли дело в формате, следует перейти во вкладку «Главная». Предварительно, необходимо выбрать непроверенную ячейку. В этой вкладке находится информация о формате.

Выбор из списка

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

Формат ячеек

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

Список форматов

В открытом окне находится полный список форматов с описанием и настройками. Достаточно выбрать нужный и нажать на «ОК».

Отключаем режим «Показать формулы»

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

Показать формулу

Для отключения функции «Показать формулы», следует перейти в соответствующий раздел «Формулы». Здесь находится окно «Зависимости». Именно в нем расположена требуемая команда. Чтобы отобразить список всех зависимостей, следует кликнуть на стрелочке. Из перечня необходимо выбрать «Показать» и отключить данный режим, если он активен.

Ошибки в синтаксисе

Ошибка синтаксиса

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

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

Включаем пересчет формулы

запуск параметров

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

параметры вычислений

В открытом окне необходимо перейти во вкладку «Формулы». Здесь находятся параметры вычислений. Достаточно установить флажок на пункте «Автоматически» и сохранить изменения, чтобы система начала проводить перерасчет.

Ошибка в формуле

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

Ошибка в формуле

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

Откроется окно, которое отображает саму формулу. Здесь, следует нажать на «Вычислить», чтобы провести проверку ошибки.

Другие ошибки

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

Формула не растягивается

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

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

Неверно считается сумма ячеек

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

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

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

Эксель не будет считать формулу автоматически, если данная функция отключена в настройках. Пользователь может устранить данную проблему, если перейдет в параметры, которые находятся в разделе «Файл».

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

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

15 значащий разряд

Почему с виду одинаковые числа не равны?
Сначала разберемся почему 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-рублевого калькулятора 🙂

Почему не суммируется (число сохраняет как текст) в Excel

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

Возможные причины, почему не считается сумма

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

Число сохранено, как текст

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

Способы решения проблемы

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

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

Маркер ошибки и тег

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

Операция Найти/Заменить

Еще один метод решения ситуации, при которой числа записываются в текстовом формате – использовать операцию «Найти/заменить». Допустим, в каких-то ячейках содержится число, имеющее десятичную запятую, сохраненные в текстовом формате. Для этого нужно нажать соответствующую кнопку на ленте или в верхнем меню (в зависимости от используемой версии Excel). Появится окно, в котором нужно заменить запятую на саму себя. Да, в буквальном смысле, нужно в поле «Найти» ввести запятую и в поле «Заменить» также ввести запятую. После этого формат должен быть преобразован автоматически. В принципе, операция аналогична клику на строку формул и дальнейшему нажатию по кнопке ввода. Та же операция может быть и с датами, только нужно точку заменять на точку.

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

Специальная вставка

Использование «Специальной вставки» – это достаточно универсальный метод, поскольку позволяет превращать в формат чисел любые цифры, относящиеся к любому виду как дробному, так и целым числам. Также его можно использовать для того, чтобы переводить даты в соответствующий формат. Чтобы использовать эту функцию, необходимо найти любую пустую ячейку, выделить ее и скопировать ее. После этого нажимаем правой кнопкой мыши по любой ячейке, формат которой неправильный, после чего нажимаем кнопки «Специальная вставка» – «Сложить» – «ОК». Это аналогичная добавлению нуля операция. Значение ячейки не меняется абсолютно, но ее формат превращается в числовой. Также можно использовать умножение диапазона значений на единицу.

Инструмент Текст по столбцам

Этот инструмент наиболее удобно применять, если используется всего одна колонка. Если их больше, ничего страшного, но придется использовать его по отдельности для каждой колонки. Чтобы это сделать, нужно выделить соответствующий столбец, выставить числовой формат и выполнить команду «Текст по столбцам», которая находится во вкладке «Данные».

Формулы

Очень популярный способ решения проблем с отображением ячеек – использование функции ПОДСТАВИТЬ() , ЗНАЧЕН() и некоторыми другими формулами. Этот способ можно использовать, если есть возможность использовать дополнительные столбцы, в которые может вводиться формула. Можно использовать и другие математические операции, такие как двойной минус (—), добавление к числу нуля, умножение на единицу и любой другой подобной операции. После этого получившиеся ячейки копируются и вставляются в те места, в которых до этого были значения в текстовом формате.

Макросы

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

Sub conv()

Dim c As Range

For Each c In Selection

If IsNumeric(c.Value) Then

c.Value = c.Value * 1

c.NumberFormat = «#,##0.00»

End If

Next

End Sub

Этот код умножает текстовое значение на единицу.

Sub conv1()

Selection.TextToColumns

Selection.NumberFormat = «#,##0.00»

End Sub

А это код, демонстрирующий использование инструмента «Текст по столбцам».

В записи числа имеются посторонние символы

Способы решения проблемы

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

Еще один тип пробелов, который может мешать сохранению ячейки в правильном формате – это так называемый неразрывный пробел (имеющий код 160). Описанного выше способа для решения этой проблемы недостаточно. Чтобы решить возникшую проблему, необходимо скопировать этот символ непосредственно с ячейки, а потом вставить в поле «Найти» или же набрать в этом поле комбинацию Alt + 0160 (но на ноутбуках такой номер не получится, потому что требуется цифровая клавиатура для выполнения этой задачи).

Для обычного человека вообще не всегда понятно, что такое неразрывный пробел и где он может использоваться. Чтобы стало более понятно, давайте посмотрим на этот текст.

Почему не суммируется (число сохраняет как текст) в Excel

6

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

Также неудачно оказалось разделение фамилии «Палажченко» и обозначения его должности. В результате, выглядеть этот фрагмент текста стал, как прямая речь.

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

  1. Перед тире, которое находится посередине строки. Только в трех случаях допускается использование тире в начале строки: если используется прямая речь, если тире маркирует элемент списка и при условии, что тире заменяет прочерк. Чтобы тире не переносилось на новую строку, перед ним нужно поставить неразрывный пробел.
  2. Между числом и единицей измерения. Довольно часто эта проблема случается. В результате человек может перенести в таблицу Excel число с неразрывным пробелом, а единица измерения окажется в другой ячейке. В целом, использовать в таком случае неразрывный пробел нужно, чтобы не разделять их. Но вот при переносе в Эксель могут возникнуть проблемы.
  3. Перед знаком процента. В таком случае ячейка может не переводиться в процентный формат. Конечно, не везде можно встретить знак процента, отделенный от числа пробелом, но некоторые считают, что так правильно. Поэтому при переносе в Эксель данные могут отображаться в текстовом формате. То же касается и обычного пробела.
  4. Знак номера и параграфа. Такая ситуация также часто возникает, когда приходится переносить разделы учебников или части документов в электронные таблицы.
  5. Многозначные числа. Самая частая причина, почему неразрывные пробелы переносятся в таблицу Excel. По правилам в многозначных числах обязательно ставить пробелы, чтобы упростить их чтение пользователями. Но если число слишком большое, то оно может автоматически перенестись частями на следующую строку. Чтобы решить эту проблему, используется неразрывный пробел. И если такое число скопировать в ячейку, она будет автоматически отображаться в текстовом формате.

Как правило, неразрывные пробелы оказываются в Excel после того, как данные были перенесены из документа Word.

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

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

Может понадобиться вводить неразрывный пробел и в Excel. Чтобы это сделать, нужно нажать комбинацию клавиш ALT и 0160. Также в стандартной комплектации Windows предусмотрена комбинация горячих клавиш CTRL + SHIFT + ПРОБЕЛ, с помощью которой можно вводить неразрывный пробел почти в любой программе.

Существует два основных способа решения этой проблемы – воспользоваться функцией «Найти/Заменить» или же использовать формулу.

Операция Найти/Заменить

Чтобы убрать пробелы, можно воспользоваться функцией «Найти/Заменить». В первое поле нужно ввести знак пробела, в то время как нижнее поле оставляем пустым.

Важно убедиться, что там пробелов нет .

Формула

Использование формулы также возможно для удаления пробелов. В зависимости от того, пробел обычный или неразрывный, нужно использовать разные формулы. Также есть одна универсальная, которая позволяет убрать одновременно все пробелы, содержащиеся в ячейке.

Что это за формулы?

Во всех случаях используется функция ПОДСТАВИТЬ . Если нам нужно убрать обычный пробел, то используется следующая формула.

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

В случае с неразрывными пробелами формула будет такой.

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

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

Выводы

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *