Добрый день! <br/><br/> Мне нужна помощь с синтаксисом функции QUERY. <br/> У меня есть задача: выводить данные с одного листа на другой по двум условиям: первое — совпадение текстового поля, второе — числовое поле, которое должно находиться в заданном диапазоне между двумя значениями. <br/> Я использую следующий синтаксис: <br/> =QUERY('Параметры'!A2:H;"SELECT B, C WHERE (A='"&D3&"') AND (H>='"&D5&"') AND (H<='"&F5&"')") <br/> где: <br/> Столбец A и ячейка D3 содержат текстовый критерий, <br/> а столбец H и ячейки D5 и F5 содержат числовые критерии. <br/> При наличии только текстового критерия функция работает корректно, но при добавлении числовых условий выдает ошибку N/A. <br/> Вот ссылка на тестовую таблицу: <a href="https://docs.google.com/spreadsheets/d/1_HPmXa9lQY7jm2-Xg3VQsS_Tbny220lIg7yEoCXT_vE/edit?usp=sharing" rel="nofollow">https://docs.google.com/spreadsheets/d/1_HPmXa9lQY...</a>
Ошибка N/A в функции `QUERY` может возникать по нескольким причинам, особенно когда вы работаете с числовыми данными. Вот несколько вещей, на которые стоит обратить внимание: 1. **Тип данных**: Убедитесь, что значения в ячейках D5 и F5 являются числовыми, а не текстовыми. Иногда в ячейках могут быть обычные числа, но форматированные как текст, что приводит к ошибкам при сравнении. Для этого попробуйте преобразовать значения в числовой формат. Это можно сделать, например, с помощью функции `VALUE()`: `=VALUE(D5)` и `=VALUE(F5)`. 2. **Синтаксис**: Проверьте правильно ли вы указали формулу. Ваша формула выглядит правильно, но убедитесь, что в столбце H действительно имеются значения, которые могут соответствовать условиям фильтрации. 3. **Пропуски или ошибки в данных**: Проверьте, есть ли всталбце H пустые ячейки или другие значения, которые не являются числами. Если в столбце H встречаются, скажем, текстовые значения или ошибки, это может привести к ошибке при выполнении запроса. 4. **Проблемы с запятыми и разделителями**: Обратите внимание, что в зависимости от локали Google Таблиц, может потребоваться использовать разные разделители в формуле. В некоторых локалях вместо точек с запятой могут использоваться запятые, или наоборот. Если вам нужно больше информации или помощи, дайте знать, и я буду рад помочь вам!
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