Что значит синтаксическая ошибка в формуле гугл таблица
Ошибка синтаксического анализа формулы листов Google — как ее исправить
Анализ, категоризация и понимание синтаксиса могут быть разбиты и разделены путем выполнения функции синтаксического анализа. Процесс синтаксического анализа состоит из анализа текстового анализа, где текст состоит из последовательности токенов, определяющих его грамматическую структуру. Затем анализатор создаст структуру на основе полученных данных. Чтобы упростить синтаксический анализ, нужно просто взять большую структуру и разделить ее на отдельные компоненты для упрощения хранения или манипулирования.
Порой нередко запускать анализ и заканчивать с ошибкой. Когда происходит что-то подобное, вам выдается сгенерированная ошибка синтаксического анализа, чтобы предупредить вас, что что-то может быть не так с вашей формулой. Есть несколько разных причин для разбора, чтобы произвести ошибку. Ошибка разбора может произойти по любой из следующих причин:
Разбор ошибок в формулах электронных таблиц, таких как Google Sheets
Если формула электронной таблицы не была правильно отформатирована, то возможно, что она может привести к ошибке разбора. Это часто имеет место, если формула содержит дополнительные специальные символы или если формула была написана неправильно. Как правило, любая ошибка в синтаксисе с формулой приводит к возникновению ошибки разбора.
Чтобы избежать #ERROR! сообщение, вы хотите убедиться, что формула написана правильно с первого раза. Убедитесь, что вы проверили формулу на наличие любых неточностей, которые могут появиться, и вызвать формулу для создания ошибки. #ОШИБКА! сообщение специально уникально для Google Sheets и означает, что оно не может понять введенную формулу и, следовательно, не может выполнить команду для анализа данных.
Это также относится к случаю, если вы пропустили «» при сопоставлении текста и числовых значений.
Что формула должна читаться как: = «Общая» сумма (A1: A6), которая отображается как Total21 (числа в A1-A6 сложены вместе).
Убедитесь, что вы используете правильный синтаксис объединения, чтобы связать воедино текстовые и числовые значения.
Кроме того, можно получить ошибку разбора при попытке закрыть скобки в формуле. Одна скобка, слишком много или слишком мало, может вызвать осложнения при разборе данных.
Убедитесь, что используется правильное количество скобок и что они также размещены правильно.
В Google Sheets существует множество различных функций, которые могут генерировать ошибку разбора:
Просто назвать несколько. Избегайте осложнений и просмотрите ваши формулы перед анализом данных и исправьте все возможные ошибки.
Ошибки в формулах Google Таблиц
Благодарим Михаила Смирнова за помощь в подготовке статьи
А-а-а! Формула не работает! Что делать (кроме как сходить к коллеге, у которого б ольший опыт в Таблицах)? Давайте рассмотрим, какие ошибки существуют в Таблицах и что можно сделать, чтобы разобраться с ошибкой в формулах.
Типы ошибок
#ИМЯ! / #NAME! — ошибка в имени функции, именованном диапазоне, ссылке на диапазон. Пробегитесь по всем этим пунктам в вашей формуле. Кроме того, не забывайте, что текстовые значения указываются внутри формул в кавычках.
Помните, что ошибки в формулах могут быть и в том случае, если эти ошибки есть в ячейках, на которые формулы ссылаются. Надо разматывать всю цепочку. На следующем скриншоте в формуле нет ничего криминального: к ячейке A4 прибавляем число 10. Но в ячейке A4 ошибка #ИМЯ? — она и отображается в результате расчета новой формулы:
Еще эта ошибка может всплывать (редко — можно не беспокоиться) при использовании недокументированных функций:
#ЗНАЧ! / #VALUE! — неправильные значения аргументов (например, в функции СМЕЩ / OFFSET высота или ширина диапазона задана как ноль, что невозможно) или же арифметические операции с разными типами данных — сложение текста и чисел. А еще бывает, если дата задана как текстовое значение. Ошибки в запросе функции QUERY тоже будут выглядеть так.
Ещё две причины — из-за ограничения на длину текстовой строки.
Нельзя, чтоб получались строки длиннее 50 000 символов:
А для функции ПОВТОР / REPT ограничение — 32 000:
#ССЫЛ! / #REF — ссылка на несуществующий диапазон. Появляется, когда ячейка, на которую ссылалась формула, была удалена (вместе со строкой или столбцом, например), или когда вы пытаетесь, протягивая формулу, сослаться на ячейку A0, например (за пределами листа).
Циклическая ссылка (выглядит как #ССЫЛ! / #REF!). Возникает, если формула ссылается на собственное значение. При возникновении смотрите на диапазоны в формуле (бывает, что вы ссылаетесь на весь столбец, а формула стоит в нем же под таблицей, и т.д.)
Еще одна частая причина, которую бывает непросто побороть: несоответствие размеров диапазонов, которые надо соединить.
Ещё она возникает, если импортировать несуществующую таблицу:
Или не открыть / не иметь доступа на импорт:
#ЧИСЛО! / #NUM! — ошибка с параметром функции. Как правило, возникает, когда вводится (или формируется в ходе промежуточных расчетов) отрицательное число там, где ожидается положительное.
#Н/Д / #N/A — значение не найдено. Обычно случается с ВПР, ПОИСКПОЗ. Либо значения действительно нет в таблице и тогда это “нормальная” ошибка, либо оно введено по-разному в исходной таблице и в таблице, откуда оно берется для поиска.
#ДЕЛ/0! / #DIV/0! — деление на ноль. Вроде бы понятно — надо смотреть, на что делим, чтобы понять, откуда взялся ноль. Но также случается и с функцией СРЗНАЧЕСЛИ(МН) / COUNTIF(S) — допустим, по вашим критериям не найдено ни одного условия — а в логике расчета среднего арифметического есть деление, и в такой ситуации деление будет именно на ноль (найденных по критериям значений).
Синтаксическая ошибка и другие виды ошибок (тип #ОШИБКА! / #ERROR! — в Excel, например, такого вообще нет, в отличие от остальных перечисленных). Может возникнуть просто из-за случайно введенного символа, который Таблицы не смогут интерпретировать (точка с запятой перед формулой или точка после, например). Еще зачастую это могут быть незакрытые фигурные скобки массива. Забытый амперсанд между соединяемыми текстовыми строками тоже вызовет такую ошибку.
Еще одна причина: слишком большой диапазон попытались передать в пользовательскую функцию (Этот случай обсуждался в нашем чате).
Некоторые типовые ошибки в формулах
Системная ошибка (из перечисленных выше) — это еще ладно, во всяком случае Таблицы вам о ней сигнализируют. Бывают в сложных формулах и не такие явные ошибки. В результате расчета нет ошибок, но есть ноль или неправдоподобное / явно ошибочное число / текст / синтаксическая ошибка. Как искать причины, на что обращать внимание?
Функции ВПР / VLOOKUP, ПОИСКПОЗ / MATCH — если есть сомнения, что функция тянет все корректно, проверяйте, точно ли вы указали последний аргумент как ЛОЖЬ ( ноль, 0)? Если нет, будет по умолчанию 1, ИСТИНА (интервальный, а не точный поиск). И в случае с поиском текстовых значений возникнут ошибки.
Сравнение данных, поиск данных (те же ВПР и прочие) — если у вас ошибка Н/Д, может быть проблема в разных форматах данных. Например, в исходнике, который вы импортируете, артикулы текстового формата, а у вас в вашей таблице числового. Проверить можно с помощью функций ISTEXT / ЕТЕКСТ, ISNUMBER / ЕЧИСЛО.
Кроме того, всегда есть риск банальных ошибок ввода данных — лишние пробелы, перепутанные кириллица/латиница, сокращения. Для предотвращения таких ошибок используйте проверку данных. А для отлавливания — функцию UNIQUE (выводите список уникальных значений и смотрите, есть ли там разные варианты написания одного и того же значения).
Если вдруг ВПР или другая функция в упор не находит значение, а визуально они кажутся одинаковыми, не забывайте, что всегда можно сравнить две ячейки формулой (=A1=A2) или посмотреть, одинаковой ли они длины по количеству символов (с помощью функции ДЛСТР / LEN).
Убрать лишние пробелы (до и после текстовой строки и все, что свыше одного пробела между слов) помогает функция СЖПРОБЕЛЫ / TRIM.
Забыли протянуть формулу / изменить диапазон. Это классика 🙂 По возможности используйте формулу массива с открытым диапазоном. Так вы настроите ее раз и навсегда и не нужно будет беспокоиться о появлении новых столбцов. Допустим, вы пишете формулу, которая будет отправлять адресату по его емейлу из текущей строки письмо:
Вместо такой формулы сделайте ее по открытому диапазону E2:E, и она будет работать бесконечно для любого количества строк. Чтобы в пустых строках ничего не отображалось, добавьте проверку на пустоту ячейки с емейлом (с помощью ЕСЛИ / IF):
Проблемы со сложностью формулы. Иногда полностью правильно написанная формула не вернёт ничего или вернёт неправильное значение — к сожалению, мы иногда сталкивались с такой проблемой.
Такое случается, когда:
– вы ссылаетесь на большое количество строк с данными;
– и при этом написали слишком сложную формулу.
Что такое сложная формула для Таблиц? К примеру, функция FILTER, в условии которой – отбор большим регулярным выражением, которое сформировано из значений, которые вы внутри этой же формулы отбираете из другого большого листа, потом функцию заворачиваете в QUERY, делаете группировку и всё это безобразие вдобавок протягиваете на каждую строку.
Подобное можно провернуть только на небольших диапазонах с данными, на больших – может не работать.
Поэтому не забывайте, что сложность лимитирована, за ней нужно следить и не все, даже абсолютно правильно написанные формулы Таблица сможет переварить.
Что поможет написать/разобрать/починить сложную формулу
Принцип луковицы
Так этот подход назвал эксперт по Таблицам Бен Коллинз. Идея в следующем: вместо того, чтобы с ходу прописывать сложную формулу, сначала прописываем часть, смотрим, как она работает и правильно ли вычисляет промежуточное значение, затем ссылаемся на эту формулу из другой формулы, в которой она будет выступать одним из аргументов, и если все заработает, удаляем столбец с промежуточной формулой, а ее переносим в итоговую формулу (на то место, где мы на нее ссылались).
Иначе говоря, формируем отдельные части формулы в отдельных ячейках, ссылаясь из следующей на предыдущий этап, а потом уже соединяем в одну.
В приведенном выше примере с гиперссылкой можно сначала сформировать текстовую формулу, которая будет соединять mailto и адрес е-почты из ячейки, и сослаться на ячейку с этой формулой из ГИПЕРССЫЛКИ. И если все заработает, уже потом скопировать первую формулу и вставить вместо ссылки на ячейку с ней.
Переход на следующую строку в формуле
В строке формул можно переходить на следующую строку с помощью Alt+Enter. Это позволяет визуально разделить отдельные фрагменты/функции — тогда формулу будет проще воспринимать (вашим коллегам и вам самим в будущем, когда вы уже забудете ее логику).
Эта история может помочь, если у вас уже лютая многоэтажная формула, а в ней возникает синтаксическая ошибка.
Выделение фрагмента формулы
Напоминаем: выделяете ячейку в формуле — видите всплывающую подсказку с ее значением. Выделяете фрагмент формулы или одну функцию в рамках формулы — видите вычисляемое значение этого фрагмента / функции. Помогает понять, что на каких шагах вычисляется для конкретных данных.
Функция ЕСЛИОШИБКА / IFERROR и другие для “отлавливания” ошибок
Функция ЕСЛИОШИБКА / IFERROR позволяет отображать любое заданное вами значение (ее второй аргумент) вместо ошибки в формуле (которая указывается в первом аргументе). Это удобно — например, если значение не найдено, то вы показываете не #Н/Д, а пусто; если в сравнении с прошлым годом в конкретной строке возникает #ДЕЛ/0, так как по конкретному продукту не было продаж, а мы на них делим — то мы тоже показываем пустоту (по умолчанию, если будет пропущен второй аргумент, ЕСЛИОШИБКА выведет пустоту) или ноль (тогда придется указать его во втором аргументе) вместо ошибки.
Если хотите «отлавливать» только #Н/Д (например, при применении ВПР’а) — используйте IFNA — у нее такой же синтаксис, но среагирует она только на ненайденное ВПР-ом значение (и вернет вместо ошибки #Н/Д пустоту либо явно указанное во втором аргументе значение), а остальные ошибки (допустим, если у вас будет что-то с синтаксисом) отобразит.
Помимо этих двух функций, которые оставляют первый аргумент на месте, если ошибок нет, и заменяют вторым, если они есть, существует еще несколько функций для поиска специфичных ошибок.
Функция ТИП.ОШИБКИ / ERROR.TYPE будет выдавать код ошибки (смотрим в справку):
1 для ошибки #NULL! (такой ошибки пока на практике нет, тот же Бен Коллинз пишет, что ни разу с ней не сталкивался и просил подписчиков прислать примеры, но никто пока не прислал)
Соответственно, вы можете проверять формулу только на определенный тип ошибок.
Кроме того, есть функция ЕНД / ISNA для проверки конкретной ошибки Н/Д — только для нее будет возвращать ИСТИНА. Отличается от IFNA тем, что выводит ИСТИНА / ЛОЖЬ — это индикатор, она в любом случае не будет возвращать исходную формулу, даже если в ней нет ошибки.
Функция ЕОШ / ISERR обратная — возвращает ИСТИНА для всех типов ошибок, кроме Н/Д.
А ЕОШИБКА / ISERROR возвращает ИСТИНА для любого типа ошибок.
Cоветы и руководства по Google Таблицам
Мастер Google Таблиц с полезными советами и руководствами
Как исправить ошибку синтаксического анализа в Google Таблицах
Это может раздражать, особенно если формула длинная и проблема синтаксического анализа не очевидна.
Не волнуйтесь! Мы научим вас определять возможные причины проблемы парсинга и как их исправить!
Вот пять наиболее распространенных ошибок синтаксического анализа формул в Google Таблицах, с которыми вы можете столкнуться:
Устранение ошибки # N/A в Google Таблицах
Когда появляется ошибка #N/A, это означает, что значение недоступно. Эта ошибка часто встречается при использовании функции VLOOKUP (ВПР), поскольку ключ поиска не может быть найден.
Однако в этом сценарии это не означает, что введенная нами формула неверна. Когда формула возвращает ошибку #N/A, это означает только то, что указанный ключ поиска не находится в выбранном диапазоне.
Давайте воспользуемся примером, чтобы улучшить визуализацию.
Следовательно, это приведет к тому, что формула вернет ошибку # N / A, означающую, что введенный нами ключ поиска не может быть найден.
# DIV/0! — Ошибка в Google Таблицах
# DIV / 0! ошибка появляется, когда формула делит число с нулевым значением. Это может произойти, когда знаменатель равен нулю. С математической точки зрения это не имеет смысла, поэтому формула возвращает # DIV / 0! ошибка.
Эта ошибка также может появиться, когда знаменатель пуст.
Как видите, поскольку B1 не имеет значения, формула не может разделить 40 на ноль.
Вы также часто можете увидеть это при использовании функции AVERAGE (СРЕДНИЙ). Ошибка появится, если диапазон, выбранный для формулы, пуст.
Просто убедитесь, что используемые или выбранные знаменатели имеют значение, и эта ошибка синтаксического анализа больше не появится!
#VALUE! — Ошибка в Google Таблицах
Если один или несколько параметров в вашей формуле имеют другой тип, чем ожидалось, вы получите эту ошибку. Итак, если функция принимает в качестве аргумента только числа, но выбранная ячейка имеет текстовое значение, вы получите #VALUE! ошибка.
Пробелы в ячейках также могут вызывать эту ошибку.
Несмотря на то, что A2 выглядит как пустое поле, мы ввели пробел внутри ячейки. Это привело к тому, что формула вернула #VALUE! ошибка.
Вот еще один пример:
Здесь мы видим, что введенная формула умножает числовое значение на текстовое значение, равное « пяти ». Эта формула не имеет математического смысла, так как параметры в формуле бывают разных типов.
Чтобы исправить эту ошибку, убедитесь, что выбранные ячейки содержат параметр одного и того же типа. При выполнении математической операции всегда не забывайте использовать только числовые значения.
Другой сценарий, в котором может возникнуть эта ошибка, — это смешивание формата дат в формуле.
Формат даты в США: ММ / ДД / ГГГ
Остальной мир: ДД / ММ / ГГГГ
Как видите, при вычитании двух дат в Google Таблицах можно было читать только 25/12/2021 как дату, поскольку это числовое значение. В Google Таблицах 25/11/2021 читается как текст, поэтому формула возвращает #VALUE! ошибка.
Чтобы исправить это, просто убедитесь, что даты, введенные в ячейки, имеют одинаковый формат.
#REF! — Ошибка в Google Таблицах
Если у вас недействительная ссылка, #REF! возникает ошибка. Наиболее распространены ситуации, когда выбранная ячейка отсутствует или формула ссылается на себя.
Отсутствует ссылка:
Это часто происходит, когда исходная выбранная ячейка была удалена (когда вы удаляете всю строку или столбец).
Другой сценарий — когда мы копируем формулу с выбранным диапазоном в угол ваших таблиц Google.
Возможно, что при копировании и вставке относительный диапазон смещается за пределы листа, что недопустимо и приведет к #REF! ошибка.
Круговая зависимость:
Когда введенная формула ссылается на себя, это называется циклической зависимостью. Это происходит, когда мы выбрали диапазон, который также состоит из самой формулы.
Как видите, формула содержит набор ячеек, в который входит сама формула.
Просто убедитесь, что при выборе ячеек для ввода всегда исключайте формулу, чтобы избежать появления таких ошибок.
#NAME? — Ошибка в Google Таблицах
#NAME? ошибка появляется, когда синтаксис введенной формулы имеет проблемы. Чаще всего это когда само имя функции написано с ошибкой.
Ошибка также может появиться, когда именованный диапазон не существует.
Другой сценарий — когда во введенном текстовом значении отсутствуют кавычки. Это также приведет к появлению #NAME? ошибка появится.
Если все сделано правильно, ошибка не появится.
Вот так! Узнав об этих пяти наиболее часто встречающихся ошибках синтаксического анализа формул, не нужно беспокоиться об их появлении. Всегда убедитесь, что понимаете, на что указывает ошибка, и исправляйте проблемы в формуле соответствующим образом.
Что означает ошибка синтаксического анализа формулы в Google Таблицах?
Ошибка синтаксического анализа формулы возникает, когда у вас есть недопустимая ссылка. Отсутствующая ссылка: например, когда вы ссылаетесь на ячейку в своей формуле, которая была удалена с тех пор (не значение внутри ячейки, а вся ячейка была удалена, как правило, когда вы удалили строку или столбец на листе).
Как удалить ошибку синтаксического анализа формулы?
Лучше всего избежать появления этой ошибки. Всегда дважды проверяйте формулу, прежде чем нажимать клавишу возврата. Убедитесь, что в вашей формуле нет лишних символов. Также убедитесь, что нет пропущенных символов или ссылок на ячейки.
Как исправить формулы в Google Таблицах?
Просто заполнив формулу,
Как вы рассчитываете ошибку в Google Таблицах?
Прокрутите вниз в правой части меню и выберите «СТАНДОТКЛОН»; затем нажмите «ОК». 3. Щелкните изображение электронной таблицы и выделите ранее усредненные числа, точно так же, как вы это делали при вычислении среднего. Нажмите Enter и «ОК», чтобы рассчитать стандартное отклонение.
Как исправить внутреннюю ошибку Importrange?
Как использовать если в листах?
Функцию ЕСЛИ можно использовать отдельно в одном логическом тесте, или вы можете вложить несколько операторов ЕСЛИ в одну формулу для более сложных тестов. Для начала откройте электронную таблицу Google Sheets и введите в ячейку = IF (test, value_if_true, value_if_false).
Как мне ввести процентную формулу в Google Таблицах?
Как рассчитать процент в Google Таблицах
Какие бывают 2 типа адреса ячейки?
Есть два типа ссылок на ячейки: относительные и абсолютные. Относительные и абсолютные ссылки ведут себя по-разному при копировании и заполнении в другие ячейки. Относительные ссылки меняются при копировании формулы в другую ячейку. С другой стороны, абсолютные ссылки остаются неизменными независимо от того, куда они копируются.
Все ли формулы Excel работают в Google Таблицах?
Формулы. И в Google Таблицах, и в Microsoft Excel есть все основные формулы, которые вам понадобятся, чтобы не отставать от вашего бюджета, такие как SUM, MAX, MIN и AVERAGE. Однако в Google Таблицах есть еще несколько функций, которые могут оказаться полезными для вашего бюджета, например, функция GOOGLEFINANCE, которая возвращает цены на фондовом рынке.
Что такое противоречивая формула?
Эта ошибка означает, что формула в ячейке не соответствует шаблону формул рядом.
Как создать ошибку в Excel?
Создать оповещение об ошибке
Как исправить ошибку значения?
Удалите пробелы, вызывающие #VALUE!
Как вы делаете стандартную ошибку в Google Таблицах?
Ниже приведены инструкции по добавлению полос ошибок в диаграмму в Google Таблицах:
Google Таблицы — это ошибка?
Цель ISERROR в Google Таблицах:
Вы можете использовать функцию Google Doc Spreadsheets Iserror, чтобы вернуть TRUE, если вывод формулы является значением ошибки. Значение ошибки (или значения в случае формулы массива) включает ошибки, о которых я упоминал выше. Теперь посмотрим на синтаксис функции Google Sheets Iserror.
Как вы делаете стандартные шкалы ошибок в Google Таблицах?
Добавление полос погрешностей на диаграмму
Почему функция ВПР (VLOOKUP) не работает в Google таблицах?
Рассматривая синтаксис функции ВПР (VLOOKUP), мы уже отмечали, что в случае, если поиск завершится неудачей, функция возвратит ошибку “#Н/Д” (#N/A). Давайте постараемся вместе попробовать ответить на вопрос: «Почему функция ВПР не работает?»
Также мы постараемся показать несколько несложных приёмов, которые позволят подстраховать себя от случайной ошибки с функцией ВПР.
Если функция ВПР не сработала так, как нам нужно, и мы видим сообщение об ошибке, то это ещё не значит, что мы сделали что-то неправильно.
Почему не работает? Разбираем наиболее типичные ошибки при использовании функции ВПР в Google таблицах.
В первую очередь, сообщение об ошибке вы увидите, если значение, которое вы ищете, действительно отсутствует в указанном диапазоне поиска. Здесь мы бессильны. Все остальные случаи, когда ВПР не работает, связаны с тем, что мы что-то не учли или сделали неверно.
Итак, разберём наиболее распространённые ошибки.
Ошибка при вводе данных
В этом случае ничего найти не удастся и вы увидите ошибку #Н/Д. Самое простое решение здесь очень часто оказывается самым верным. Быть может, вы просто ошиблись при вводе данных в ячейку поиска. Это вполне может случиться, в особенности если вы вводите значение поиска не в ячейку, а прямо в формулу.
Проверьте, правильно ли введены данные.
Ошибка при вводе функции.
Если вы видите сообщение об ошибке #ИМЯ? (#NAME?), то это означает, что при вводе названия самой функции ВПР вы допустили ошибку – перепутали или добавили лишнюю букву.
Проверьте синтаксис написания функции, и всё бедет в порядке.
Неверные ссылки в функции ВПР
Проверьте, правильно ли вы указали диапазон поиска а также ячейку со значением, которое мы будем искать.
К примеру, мы ищем цену бананов.
Но в функции вы указали обычные (относительные) ссылки, забыв заменить их на абсолютные ($), и затем произвели какие-то действия с таблицей. К примеру, добавили столбец. В результате ваш диапазон поиска автоматически изменился и стал шире на 1 столбец.
Ваши ссылки в формуле теперь будут ссылаться на неверные ячейки. Цена у вас находится теперь в 3-м столбце, а вы берёте данные из второго. В результате ВПР не работает.
Важно! При изменении ссылок сообщение об ошибке часто не появляется. Поэтому будьте внимательны в использовании относительных и абсолютных ссылок!
Неверно указан параметр “сортировка” (is_sorted).
Включен поиск до первого приблизительного совпадения в отсортированном диапазоне (параметр is_sorted = TRUE), но на самом деле данные не отсортированы.
Об этой ошибке мы подробно говорили, когда рассматривали правила использования функции ВПР в Google таблицах.
Столбец поиска не является первым слева столбцом диапазона поиска.
Часто забывают о том, что функция ВПР (VLOOKUP) ищет совпадающие значения только в первом слева столбце диапазона, который вы указали.
Если ваши значения поиска находятся не в первом, а во втором или другом столбце, то функция ВПР не будет работать и вы вновь увидите сообщение #Н/Д. К примеру, вы ищете цену по артикулу товара, но в первом столбце прайс-листа у вас находятся наименования.
Это важное ограничение функции ВПР нельзя забывать.
Несовпадение форматов данных.
Формат ячейки, откуда берется искомое значение наименования (например D3 в нашем случае), и формат ячеек первого столбца (A3:A21) из диапазона поиска отличаются (например, числовой и текстовый). Этот случай особенно часто встречается при использовании вместо текстовых наименований числовых кодов (номера счетов, артикулы, идентификаторы, даты и т.п.)
Итак, здесь мы пытаемся найти текстовое значение среди чисел. Закономерно функция ВПР возвращает нам ошибку.
Как видите, с виду записи одинаковы, однако в ячейке D6 значение сохранено как число, а в ячейке A10 – как текст. Текст не может быть равен числу, поэтому функция возвращает ошибку.
Как решить эту проблему со случайной ошибкой в формате записи? Можно использовать функцию ТЕКСТ, которая преобразует любые значения в текстовый вид.
Теперь функция ВПР нашей Google таблицы выглядит так:
Обычную ссылку на ячейку D6 мы заменяем функцией
Первый аргумент – это сама ячейка, а второй аргумент означает формат, в который мы будем преобразовывать значение этой ячейки. В данном случае – в текстовый.
Как видите, использование вложенной функции помогло решить проблему с несовпадением форматов данных.
Как видите, ошибка исчезла, поскольку теперь текстовое значение сравнивается с таким же текстовым значением.
Лишние пробелы и непечатаемые знаки.
Функция не может найти нужного значения, потому что в коде присутствуют пробелы или невидимые непечатаемые знаки (перенос строки и т.п.).
В нашем примере функция ВПР возвратила ошибку, так как в ячейке D4 при вводе данных случайно были добавлены два пробела после значения. И, поскольку сравниваются символьные значения, поиск, естественно, завершился неудачно.
Такая ошибка может встеречаться довольно часто, и обнаружить её визуально практически невозможно.
К примеру, если наименование состоит из 2 слов, то вполне возможно случайное появление лишнего пробела между этими словами.
Могут быть также случайно добавлены символы, невидимые на экране и на печати (табуляция, перевод строки и т.д.). Визуально определить такие ошибки практически невозможно.
В этом случае можно использовать текстовые функции СЖПРОБЕЛЫ (TRIM) и ПЕЧСИМВ (CLEAN) для удаления лишних пробелов либо других невидимых символов. Вместо
Функция СЖПРОБЕЛЫ (TRIM) удаляет пробелы, а функция ПЕЧСИМВ (CLEAN) удаляет все непечатаемые и невидимые символы из текстового значения.
Эту комбинацию функций рекомендуем применять всегда «на всякий случай», чтобы подстраховать себя от случайных ошибок.
Неправильно указан номер столбца.
Иногда неправильно указывают номер столбца, значение из которого вы хотите получить (третий аргумент функции ВПР).
Номер столбца не может быть меньше 1 и не может быть больше, чем количество столбцов в указанном для поиска диапазоне. Если номер столбца указан неверно, то ВПР возвращает ошибку #VALUE!
Когда вы видите такую ошибку, пересчитайте количество столбцов в диапазоне, который вы указали в функции, и убедитесь, что это значение не меньше, чем номер столбца, указанный третьим аргументом функции ВПР.
Ошибка в ссылке на данные из другой таблицы
Мы с вами говорили о том, что диапазон поиска может быть расположен в другой таблице или даже в другом файле Google таблиц.
Если вы случайно допустили ошибку при указании ссылки на эти данные, то увидите сообщение об ошибке #ССЫЛКА! (#REF!)
Это будет означать, что вы ссылаетесь на неверный диапазон, который программа найти не может.
После изменения таблицы функция перестала работать
Вы сделали все правильно и до тех пор, пока вы не вставили несколько строк или стрлбцов в вашу таблицу, функция работала верно.
Теперь же появилась ошибка #Н/Д. В чем дело?
Постарайтесь отменить слеланные изменения, благо Google таблицы хранят всю историю изменений вашей таблицы.
Важно! Всегда используйте абсолютные ссылки в формуле, где это необходимо, чтобы застраховать себя от подобных неожиданных изменений.
Как убрать сообщение об ошибке?
Сообщения об ошибке функции ВПР (VLOOKUP) не только показывают, что функция ВПР не работает, но и еще совсем не украшают вашу таблицу. Поэтому, видя сообщение об ошибке, вы, конечно же, захотите от них избавиться.
Но прежде чем приступать к таким радикальным мерам, всё же проверьте – а всё ли вы сделали правильно?
Итак, что нужно сделать прежде всего, увидев сообщение “#Н/Д”.
Во-первых, проверьте адрес диапазона поиска. Действительно ли то значение, которое вы ищете, может находиться в первом столбце диапазона.
Во-вторых, проверьте правильно ли вы указали тип параметра “сортировка” (is_sorted): ИСТИНА или ЛОЖЬ.
В-третьих, проверьте возможные несовпадения форматов, наличие лишних пробелов в условии поиска. Используйте рекомендации, которые мы давали выше.
Если вы все сделали правильно, но диапазоне поиска всё же нет нужного значения, дополните формулу функцией ЕСЛИОШИБКА (IFERROR). Например, так:
Синтаксис функции ЕСЛИОШИБКА очень простой. Первый аргумент – это выражение, значение которого мы проверяем на возниконвение ошибки.
Если ошибки нет, товозвращается значение этого выражения. Если же возникает ошибка, то функция возвращает значение второго аргумента. В данном случае в ячейке F9 будет указано “Не найдено”.
Согласитесь, это гораздо более красиво и информативно, чем стандартное сообщение об ошибке.