@evsrty

Почему функция query выводит N/A?

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

=QUERY('Параметры'!A2:H;"SELECT B, C WHERE (A='"&D3&"') AND (H>='"&D5&"') AND (H<='"&F5&"')")

где:
Столбец A и ячейка D3 содержат текстовый критерий
Столбец H и ячейки D5 и F5 содержат числовые критерии
При наличии только текстового критерия функция выводит все верно. При добавлении числовых, выводит N/A.
Тестовая таблица здесь - https://docs.google.com/spreadsheets/d/1_HPmXa9lQY...

2. если вводить целое число (1,0 2,0 3,0) работает корректно. Если же вводить дробное, ошибка #Value Не удалось интерпретировать query string
  • Вопрос задан
  • 148 просмотров
Решения вопроса 1
pickHabr
@pickHabr
Костыльных дел мастер
1. К вопросу про N\A
N\A получаю если "ОТ" > "ДО" или значение в диапазоне не найдено
примеры:
D4 = 4 F4 = 3 -> N\A
D4 = 299 F4 = 300 -> N\A

в остальных случаях получаю корректные значения

2. К вопросу об ошибке "Не удалось интерпретировать query string. Подробности: Параметр 2 в функции QUERY:PARSE_ERROR: Encountered"

Это связано с тем как Query обрабатывает числа с плавающей точкой. Query ожидает что все будет записано через точку, а у тебя запись через запятую. Чтобы не править настройки региона предлагаю использовать другую формулу:
=FILTER('Параметры'!B2:C; 'Параметры'!A2:A = D3; 'Параметры'!H2:H >= D4; 'Параметры'!H2:H <= F4)


оффтоп:
на всякий случай там где введены числа я выбрал формат "числа" и прописал значения ячеек через =
например в D4 value == =1
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы