Сконцентрируйте вывод формулы из нескольких строк и нескольких столбцов в одну строку.

У меня есть формула QUERY, которая импортирует первые три строки некоторых данных, "Select Col1, Col2 Order by Col2 desc limit 3", выдавая такой результат:

   |   c1   | c2
r1 | Red    | 53
r2 | Blue   | 45
r3 | Yellow | 15

Я хотел бы, чтобы те же самые значения формулы выглядели так:

   |  c1  |  c2  |  c3  |  c4  |   c5   |  c6 
r1 | Red  |  53  | Blue |  45  | Yellow |  15

где весь вывод находится в одной строке.
Возможно ли это?


person Juan Pablo Marroquin Ocampo    schedule 15.03.2018    source источник


Ответы (2)


Да, оберните функцию запроса с помощью TEXTJOIN.

=TEXTJOIN(" ", TRUE, QUERY(....))

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

=SPLIT(TEXTJOIN("-;-", TRUE, QUERY(....)), "-;-", FALSE)
person tehhowch    schedule 15.03.2018
comment
Благодарю вас! Я добавил =SPLIT(TEXTJOIN(-,,Формула запроса),-) - person Juan Pablo Marroquin Ocampo; 16.03.2018
comment
Ах, я не мог сказать по исходному формату сообщения, что вам нужны отдельные столбцы. Это хороший способ вернуть его в несколько столбцов! - person tehhowch; 16.03.2018

=ARRAYFORMULA(SPLIT(CONCATENATE(QUERY()&"????"),"????"))
  • Объедините результат запроса с усталым котом
  • Разделить кошку
person TheMaster    schedule 15.03.2018
comment
arrayformula вообще нужен? Split будет заполняться по мере необходимости - person tehhowch; 16.03.2018