Таблица Excel с формулой не вычисляется

Вопрос или проблема

У меня есть электронная таблица Excel, преобразованная в таблицу.

У меня есть столбец с формулой, но когда я ввел данные, формула не рассчиталась.

введите описание изображения здесь

Как вы видите, столбец [AgeGroup] не вычисляет значения для столбца [Age] во втором ряду.

нужно включить параметры вычисления -> автоматические

введите описание изображения здесь

Интересно, что существует другая возможность с вариантами, хотя решение здесь было определенно быстрым и удобным!

Представленное изображение позволяет предположить следующее, хотя непоказанный материал слева (столбцы A и B) мог бы создать то же изображение, и проблема ни в чем другом.

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

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

Затем вы можете добавить строку или строки и заметить, что формула появляется в столбце этих строк. Таким образом, возникает проблема, когда вы добавляете, скажем, строку 2 здесь, переходите к концу таблицы и добавляете новую строку, вводя данные в столбце A или B, и видите счастливый результат: формула присутствует в этой ячейке, хотя в данном случае она правильно показывает пустое значение.

Это дом карточек совпадений, но с всего (до) четырьмя строками под последней успешно работающей формулой над выбранной ячейкой это ВОЗМОЖНО.

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

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

И если вместо числа присутствовала формула, ее результат обычно все равно будет использоваться, даже формулой, созданной ПОСЛЕ переформатирования(!). Вы можете “принудить” ячейку в нужную ситуацию, нажав F2 и Enter, и другими способами, и тогда переформатирование “сработает” во всех отношениях.

Но в таблице, переформатируя ячейки формулы в текст и используя некоторые базовые техники принуждения, формула продолжает работать, хотя любые числовые результаты будут представлены как текст, выровненные по левому краю и так далее. Формулы ПРОДОЛЖАЮТ РАБОТАТЬ, изменяя результаты для вновь введенного значения, которое использует формула!

Не уверен, какую пользу это может принести, или является ли это ошибкой, которая будет исправлена в какой-то случайной будущем версии, но… интересно.

Кажется, вы некорректно ссылаетесь на значения ячеек. То, как вы это написали, [Age] ссылается на всё поле. Вам нужно, чтобы [@Age] ссылался на значение в этом поле и в той же строке, что и формула. Смотрите: Использование структурированных ссылок с таблицами Excel – Поддержка Microsoft

=IF(ISBLANK([@Age]),"",IF([@Age]<18 ... и так далее

К слову, вы можете быть более эффективными с функцией IFS(), которая похожа на множественные IF() операторы, но без всех вложений. Она принимает несколько пар условие, результат и возвращает результат, который соответствует первому истинному условию. Вы можете сделать это ещё более эффективным, изменив порядок ваших числовых проверок, но вам следует оставить проверку на пустое значение в начале. В приведенном ниже примере я преобразовал это в проверку NOT(ISNUMBER()), чтобы поймать те случаи, когда кто-то вводит текст вместо числа.

=IFS(NOT(ISNUMBER([@Age])),"",[@Age]>=85,"85+",[@Age]>=65,"65 до 84",[@Age]>=40,"40 до 64",[@Age]>=18,"18 до 39",[@Age]<18,"<18")

введите описание изображения здесь

Ответ или решение

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

1. Проверка настроек вычислений

Первым шагом в решении проблемы является проверка параметров вычислений в Excel. Убедитесь, что у вас включен автоматический режим пересчета формул:

  • Перейдите в меню «Файл» и выберите «Опции».
  • В разделе «Формулы» убедитесь, что выбран параметр «Автоматически» в настройках «Параметры расчета».

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

2. Использование структурированных ссылок

При работе с таблицами в Excel вы должны использовать структурированные ссылки для обращения к значениям в строках. Если в вашей формуле использованы ссылки типа [Age], это ссылается на весь столбец. Для обращения к значению в текущей строке необходимо использовать синтаксис [@Age]. Например, ваша формула должна выглядеть так:

=IF(ISBLANK([@Age]),"",IF([@Age]<18,"<18","..."))

Это гарантирует, что формула получает доступ к значению именно текущей строки, а не всей колонны.

3. Проверка формата ячеек

Формат ячеек также может влиять на вычисления. Если ячейка с формулой отформатирована как текст, формула не будет рассчитываться. Для того чтобы изменить формат:

  • Выделите необходимую ячейку или диапазон.
  • Щелкните правой кнопкой мыши и выберите «Формат ячеек».
  • Убедитесь, что выбран формат «Общий» или «Числовой».

Если вы видите, что ячейка отображает результат формулы как текст (например, выравнена по левому краю), попробуйте переформатировать ячейку и затем нажать F2 (войти в режим редактирования) и Enter, чтобы пересчитать формулу.

4. Работа с пустыми ячейками и удаленными данными

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

5. Альтернативы функции IF

Для более удобного и компактного подхода вы можете использовать функцию IFS, которая позволяет избежать вложенных логических операторов IF. Например:

=IFS(NOT(ISNUMBER([@Age]),"",(другие условия...)))

Этот вариант позволяет обрабатывать несколько условий более эффективно и читаемо.

Вывод

Используйте описанные выше методы, чтобы устранить проблему с невычисляемыми формулами в таблицах Excel. Правильная настройка вычислений, использование структурированных ссылок, мониторинг формата ячеек и правильное обращение с пустыми значениями помогут вам обеспечить бесперебойный расчет формул в ваших таблицах. Если вопросы останутся, не стесняйтесь обращаться за помощью или дополнениями к документации Microsoft.

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

Капча загружается...