Google Таблицы запрашивают отсортированные результаты

#google-sheets-formula

#google-sheets-формула

Вопрос:

Я пишу функцию запроса, которую я хотел бы отсортировать. Я это понял. То, что я не могу решить, — это попытка вставить 2 пустые строки между отсортированными результатами. Возможно ли это вообще? Вот мой запрос в его нынешнем виде. Работает отлично, как написано. Просто хотелось бы иметь разрыв в 2 строки между результатами.

Спасибо.

=query('Form Responses 1'!A:CM,"Select B,C,D,I,L,AU,AX Where K = '"amp;Titles!B2amp;"' OR AW = '"amp;Titles!B2amp;"'Order by K,AW",0)

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

Ответ №1:

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

Попробуйте эту формулу, где у вас есть ваш запрос:

 ={query('Data Sheet'!A:J,"Select B,C,D,E,F,H,I Where E=''  and (G = 'ABC' OR J = 'ABC') Order by J,G",0);
  {"","","","","","",""};
  {"","","","","","",""};
  query('Data Sheet'!A:J,"Select B,C,D,E,F,H,I Where E<>'' and (G = 'ABC' OR J = 'ABC') Order by J,G",0)}
  

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

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

Ответ №2:

РЕДАКТИРОВАТЬ: только что понял, что я создал ответ для одного столбца данных. Пожалуйста, поделитесь образцом таблицы, поскольку это не ваш случай.

Вы можете попробовать эту формулу, но вам нужно будет заменить этот текст «A4: A8» вашим точным запросом:

 =ArrayFormula(flatten(split(A4:A8 amp; "♥ ♥ ","♥",0,0)))
  

Обратите внимание, что столбец со значениями «~» в пустых ячейках предназначен только для демонстрации того, что происходит.

Если бы вы предоставили образец таблицы с образцами данных, это было бы проще.

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

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

Также имейте в виду, что FLATTEN это недокументированная функция, которая может быть удалена из листов. Если это для критического приложения, и может быть предоставлена альтернативная формула. Сообщите нам, если это вызывает беспокойство.

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

Ответ №3:

Я удалю свой предыдущий ответ, который ошибочно фокусировался на результате в один столбец.

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

 =ARRAYFORMULA(SUBSTITUTE(SUBSTITUTE(SPLIT(FLATTEN(ARRAYFORMULA(SPLIT(TRANSPOSE(ARRAYFORMULA(QUERY(TRANSPOSE(ARRAYFORMULA(SUBSTITUTE(A4:C8," ","♥"))),,99^99)amp;"♦~♦~")),"♦",1,0)))," ",1,0),"~",""),"♥"," "))
  

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

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

Комментарии:

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

2. Поскольку вы не предоставили никаких данных, по которым мы могли бы выполнить ваш запрос, я не могу воспроизвести ваш результат. Пожалуйста, предоставьте образец таблицы с вашим текущим запросом. И объясните, на каком основании эти две пустые строки должны появляться в ваших странных результатах. Это потому, что объединение или заголовок больше не являются пустыми или по какой-либо другой причине? Потому что тип или роль пусты?

3. вот ссылка на образец таблицы. я хочу, чтобы пустые строки выделяли результаты. docs.google.com/spreadsheets/d /…

4. Это отлично работает. Спасибо. Я понял, что могу регулировать количество кавычек в зависимости от количества столбцов, которые у меня есть.

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