Excel не считает формулу: три поломки, десять причин, коды ошибок, как найти замершие ячейки во всей книге и разбор на настоящем файле
Под этой жалобой прячутся три разные поломки, и лечатся они по-разному. Сначала посмотрите, что именно у вас в ячейке: текст формулы, старый результат или ошибка. Здесь развилка по трём случаям, десять причин с лечением, таблица всех кодов ошибок, циклические ссылки и ссылки на закрытые файлы, разбор настоящей книги с семью поломками до и после, способы найти замершие ячейки во всей книге и проверка за две минуты.
Что видно в ячейке
Прежде чем что-то чинить, ответьте на один вопрос: что показывает ячейка прямо сейчас. От ответа зависит всё остальное, а перепутать эти три случая легко, потому что человек описывает их одинаково.
| В ячейке | Что произошло | Куда идти |
|---|---|---|
| =СУММ(A1:A9) текстом | Excel не считает формулу формулой | Текстовый формат, режим показа формул, лишний знак в начале |
| Число, но старое | Формула есть, пересчёта нет | Ручной режим вычислений, числа как текст, замершее значение |
| #ЗНАЧ!, #ИМЯ?, #ССЫЛКА! | Excel посчитал и упёрся | Это уже не «не считает», а ошибка в самой формуле |
Формула видна текстом
Ячейка была в текстовом формате
Самая частая причина. Если ячейке заранее назначен формат «Текстовый», Excel принимает введённое как строку и считать не пытается. Формат обычно достаётся по наследству: столбец сделали текстовым, чтобы не терялись нули в начале артикула, а через год в него написали формулу.
Тонкость, из-за которой этот пункт чаще всего не срабатывает: сменить формат мало. Ячейка уже содержит текст, и от переключения на «Общий» он текстом и останется. Нужно после смены формата встать в ячейку, нажать F2 и Enter, то есть заново подтвердить ввод. Только тогда Excel перечитает содержимое.
Если таких ячеек столбец, F2 по каждой замучаетесь. Выделите столбец и пройдите Данные, Текст по столбцам, Готово. Мастер ничего не разделит, но заново разберёт содержимое каждой ячейки, и формулы оживут.
Включён режим показа формул
Признак однозначный: формулами показан весь лист, а не одна ячейка, и столбцы стали заметно шире. Это режим проверки, его включают сочетанием Ctrl и клавиши слева от единицы (в русской раскладке это ё). Нажмите ещё раз, и лист вернётся к нормальному виду. Та же кнопка есть на вкладке Формулы, называется «Показать формулы».
Перед знаком равенства что-то стоит
Пробел или апостроф. Апостроф в ячейке не отображается вовсе, поэтому глазами его не найти: встаньте в ячейку и посмотрите на строку формул, там он виден. Апостроф в начале это команда «считай это текстом», и Excel её честно выполняет.
Откуда он берётся, если вы его не ставили: из выгрузок. Многие системы экранируют так значения, начинающиеся со знака равенства, плюса или минуса, чтобы файл, открытый у получателя, ничего не выполнил. Мы в своём движке делаем ровно то же самое с чужим текстом, и по той же причине.
Формула есть, а число не меняется
Книга переведена в ручной пересчёт
Это тот случай, когда виноват не файл и не вы, а человек, который делал файл до вас. Режим вычислений хранится внутри книги и путешествует вместе с ней: коллега поставил «Вручную» на своей огромной модели, чтобы не ждать по десять секунд после каждого ввода, прислал вам таблицу на два листа, и она перестала считать.
Проверить: вкладка Формулы, кнопка Параметры вычислений. Должно стоять «Автоматически». F9 пересчитывает книгу разово, но это не лечение, а обезболивающее: завтра вы про F9 забудете. Есть и подлость посерьёзнее: режим берётся из первой открытой книги в сеансе Excel. Открыли чужой файл с ручным режимом, потом свой, и свой тоже перестал считать, хотя в нём всё было в порядке.
Как это выглядит со стороны. Вы меняете цену в одной ячейке, итог внизу не двигается, вы решаете, что формула сломана, и вписываете итог руками. Формула умерла, а книга внешне в порядке. Дальше этот файл живёт годами и врёт.
Числа на самом деле текст
СУММ по столбцу даёт ноль или считает половину строк. Причина в том, что часть значений это не числа, а строки, похожие на числа. СУММ такие молча пропускает, и в этом главная подлость: ошибки нет, итог есть, он просто неправильный.
Как отличить: числа Excel по умолчанию прижимает вправо, текст влево.
Столбец, где часть значений жмётся влево, подозрителен. Часто в углу таких
ячеек ещё стоит зелёный треугольник с подсказкой «Число сохранено как текст».
Проверить наверняка: =ЕТЕКСТ(A2) даёт ИСТИНА для таких ячеек,
а =СЧЁТ(A2:A100) против =СЧЁТЗ(A2:A100) показывает,
сколько значений в столбце числа, а сколько нет.
Откуда берётся, по убыванию частоты:
- Выгрузка из 1С, банка или биллинга. Разряды там разделены
неразрывным пробелом, а он для Excel обычный символ, а не пустое место.
Лечится так:
=ПОДСТАВИТЬ(A2;СИМВОЛ(160);""), потом ещё раз для обычного пробела. - Точка вместо запятой. В русской локали дробная часть отделяется запятой, и «12.5» для Excel это текст. Массово чинится заменой точки на запятую через Ctrl+H, но осторожно: замена заденет и даты.
- Копирование с сайта или из PDF. Приносит невидимые
символы. Проверить длину:
=ДЛСТР(A2). Если в «125» оказалось четыре знака, там прицепился лишний. Снимает=СЖПРОБЕЛЫ(ПЕЧСИМВ(A2)), а неразрывный пробел придётся подставлять отдельно. - Текст с дробью или диапазоном. «1\2», «10-12», «около 5». Это уже не число ни в каком смысле, и формулой его не починить: нужно решить, что имелось в виду.
Быстрый способ починить весь столбец без формул: скопируйте пустую ячейку,
выделите столбец, Специальная вставка, операция «Сложить». Excel прибавит ноль
к каждому значению и тем самым превратит текст в число. Ноль ничего не меняет,
а тип меняет. Второй способ: =ЗНАЧЕН(A2) или просто
=A2*1 в соседнем столбце.
На месте формулы лежит значение
Формулы в ячейке больше нет. Встаньте на неё и посмотрите на строку формул: если там голое число, а не выражение, то считать нечему. Такая ячейка выглядит абсолютно нормально и не пересчитается никогда.
Самый распространённый способ это устроить вырос из приёма отладки. Чтобы понять, что возвращает кусок сложной формулы, его выделяют прямо в строке формул и жмут F9: Excel подставляет вместо выделенного его значение и показывает результат. Приём отличный. Но выйти из него нужно клавишей Esc. Если нажать Enter, подставленное значение останется в формуле навсегда, и с этого момента она считает по числу, которое было верным в тот вторник.
Второй способ проще: кто-то вставил в столбец данные обычной вставкой поверх формул. Формулы в строках, куда попала вставка, заменились на значения. Строка выглядит как остальные и входит в итог.
Чаще всего мы встречаем это в файлах, которые ведут месяц за месяцем и правят на ходу: в табелях учёта рабочего времени и в графиках отпусков. Там итог поправили один раз в марте, а вскрывается это в декабре.
Excel посчитал и упёрся: коды ошибок
Код ошибки в ячейке это не отказ считать, а результат счёта. Каждый код называет свою причину, и по нему видно, куда смотреть.
| Код | Причина | Что делать |
|---|---|---|
| #### | Не ошибка: число или дата не помещаются в ширину столбца, либо дата получилась отрицательной | Расширить столбец двойным щелчком по границе; проверить вычитание дат |
| #ЗНАЧ! | В арифметику попал текст: «1\2» в столбце штук, пробел в ячейке, дата текстом | Найти текстовую ячейку через ЕТЕКСТ, починить данные, а не формулу |
| #ИМЯ? | Excel не узнал имя: опечатка в функции, английское название в русской версии, кавычки вокруг текста забыты, именованный диапазон удалён | Сверить название функции; в русской версии СУММ, а не SUM; проверить Диспетчер имён |
| #ССЫЛКА! | Формула ссылалась на ячейку, строку или лист, которых больше нет: удалили строку, переименовали вкладку | Отменить удаление, если можно; иначе переписать ссылку; итоги по листам собирать через ДВССЫЛ с осторожностью |
| #ДЕЛ/0! | Деление на ноль или на пустую ячейку | Обернуть в ЕСЛИ(B2=0;"";A2/B2) или ЕСЛИОШИБКА, но не прятать настоящую ошибку данных |
| #Н/Д | ВПР или ПОИСКПОЗ не нашли значение: лишний пробел, разный регистр не мешает, а «Чехов» и «Чехов » уже разные | СЖПРОБЕЛЫ на обеих сторонах; ЕСЛИНД для осмысленной подстановки |
| #ЧИСЛО! | Результат вне диапазона или итерация не сошлась: корень из отрицательного, дата до 1900 года | Проверить входные данные и знак |
| #ПУСТО! | Пробел между диапазонами вместо точки с запятой: СУММ(A1:A5 B1:B5) | Поставить разделитель аргументов |
| #ПЕРЕНОС! | Динамический массив не может развернуться: ниже занятые ячейки | Освободить место или взять одну ячейку через @ |
Циклическая ссылка
Формула прямо или через цепочку ссылается сама на себя: итог в строке 20 включает диапазон A1:A20. Excel выдаёт предупреждение при открытии и оставляет в ячейке ноль, а в строке состояния внизу пишет «Циклические ссылки» с адресом. Если предупреждение когда-то закрыли галочкой «больше не показывать», книга молча считает нули. Найти: Формулы, Проверка формул, Циклические ссылки. Включать итеративные вычисления, чтобы «заработало», не стоит: это прячет ошибку, а не чинит.
Ссылка на закрытый или переехавший файл
Формула вида ='C:\Отчёты\[план.xlsx]Лист1'!B7 считает, пока файл
лежит по этому пути. Переложили папку, переслали книгу коллеге, и Excel
при открытии спрашивает про обновление связей, а потом показывает либо
последнее сохранённое значение, либо #ССЫЛКА!. Список таких связей: Данные,
Изменить связи. Лечение одно: перенести нужные данные внутрь книги
отдельным листом.
Как это выглядит в настоящей книге
Ниже книга продаж выдуманной фирмы с семью поломками, теми же, что наш движок находит в живых файлах. Её можно скачать целиком на витрине и повторить разбор самостоятельно.
Как найти такие места во всей книге
Пока речь про одну ячейку, всё решается глазами. Беда в том, что замершие значения не собираются в одном месте: в столбце из тысячи формул их бывает семь, и они разбросаны. Проверять по одной бессмысленно.
| Что ищем | Как найти в Excel | Что покажет |
|---|---|---|
| Значения поверх формул | Выделить столбец, F5, Выделить, Формулы | Формулы подсветятся; ячейки, оставшиеся без подсветки посреди столбца, и есть замершие |
| Числа как текст | F5, Выделить, Константы, оставить только «Текст» | Все текстовые ячейки на листе, среди них числа с пробелами и точками |
| Числа, вшитые в формулы | Ctrl+F, искать «*0,25*» с параметром «формулы» | Только известные константы; неизвестные приходится читать глазами |
| Ошибки | F5, Выделить, Формулы, только «Ошибки» | Все ячейки с кодами ошибок на листе |
| Зависимости | Формулы, Влияющие ячейки и Зависимые ячейки | Стрелки от ячейки к тем, откуда она берёт данные; видно, что итог не смотрит на новую строку |
| Что считает формула по шагам | Формулы, Вычислить формулу | Пошаговый разбор без риска нажать Enter вместо Esc |
Всё это работает по одному листу и требует держать в голове, где итог, а где ввод. Мы написали инструмент, который делает то же самое по всей книге сразу и вдобавок ищет соседние беды: числа, зашитые внутрь формул, строки данных, которые не считает ни один счётчик, ссылки на файлы, до которых уже не дотянуться. Разбор книги бесплатный, файл при этом никуда не сохраняется.
Проверка за две минуты
- Встать в проблемную ячейку и посмотреть на строку формул: выражение, текст с апострофом или голое число.
- Формулы, Параметры вычислений: стоит ли «Автоматически».
- Ctrl и ё: не включён ли показ формул на весь лист.
- Выделить столбец с данными и посмотреть в строку состояния внизу: если «Количество» больше, чем «Количество чисел», в столбце есть текст.
- F5, Выделить, Формулы по столбцу итогов: нет ли дыр в подсветке.
- Строка состояния: нет ли надписи «Циклические ссылки».
- Данные, Изменить связи: нет ли внешних файлов.
Чего не делать
- Не вписывать правильный итог руками. Это не починка, а маскировка. Через месяц данные поменяются, а вписанное число нет.
- Не гнаться за формулой в одну строку. Выражение из пяти вложенных функций считает так же, как три понятных, но проверить его вы не сможете. Промежуточные величины выносите в отдельные ячейки.
- Не оставлять деление без защиты. Пустой ввод даёт
#ДЕЛ/0! по всему столбцу, и книга выглядит сломанной. Оберните
в
ЕСЛИОШИБКА. - Не оборачивать в ЕСЛИОШИБКА всё подряд. Пустая ячейка вместо #ЗНАЧ! выглядит спокойнее, но ошибка данных никуда не делась, а итог тихо считается без этой строки.
- Не включать итеративные вычисления ради циклической ссылки. Формула начнёт сходиться к чему-то, и это что-то никто не проверит.
Книги, в которых считать нечего. Шесть бесплатных шаблонов, проверенных этим же разбором: табель, учёт расходов, график отпусков, смета, склад и график смен. Все в разделе шаблонов.
Частые вопросы
Почему формула в Excel отображается как текст?
Чаще всего у ячейки текстовый формат, установленный до ввода формулы, или перед знаком равно стоит апостроф или пробел. Поменяйте формат на «Общий», удалите лишний символ и нажмите Enter в ячейке заново.
Почему формула не пересчитывается при изменении данных?
Включён ручной режим вычислений: Формулы, Параметры вычислений, Автоматически. Режим сохраняется в первой открытой книге и применяется ко всем открытым, поэтому он «заражает» файлы незаметно.
Как найти все ячейки с ошибками в книге?
Главная, Найти и выделить, Выделить группу ячеек, Формулы, Ошибки. Выделятся все ячейки с #ДЕЛ/0!, #ЗНАЧ! и подобными на активном листе. Бесплатная проверка книги на этом сайте показывает такие места сразу по всем листам.
Почему СУММ показывает ноль, хотя в столбце есть числа?
Часть значений записана как текст: с неразрывным пробелом из выгрузки, с точкой вместо запятой или с невидимым символом после копирования. СУММ такие ячейки молча пропускает. Проверьте через ЕТЕКСТ или сравните СЧЁТ и СЧЁТЗ по столбцу, а починить можно, прибавив ноль через специальную вставку.
Как включить автоматический пересчёт формул в Excel?
Вкладка Формулы, кнопка Параметры вычислений, пункт «Автоматически». Режим хранится в книге и берётся из первой открытой книги в сеансе, поэтому чужой файл с ручным режимом может отключить пересчёт и в вашем. F9 пересчитывает разово, настройку не меняет.
Что значит зелёный треугольник в углу ячейки?
Excel заметил что-то подозрительное: число сохранено как текст, формула отличается от соседних, формула не охватывает смежные ячейки. Наведите на ячейку и нажмите значок с восклицательным знаком, там написана причина и есть кнопка исправления. Треугольник не влияет на расчёт, но чаще всего указывает именно на то место, где итог врёт.
Загрузите файл, и мы покажем, где расчёт замер: значения поверх формул, числа внутри формул, данные мимо счётчиков. Разбор бесплатный и делает его программа, а не человек. Починка с объяснением каждой правки стоит 390 ₽, и заказывать её нужно, только если в разборе нашлось что чинить.
Проверить книгу бесплатно Посмотреть, что входит в починку