Я пытаюсь получить данные в листах Google с одного листа на другой и манипулировать полученными данными на новом листе. - PullRequest
0 голосов
/ 28 января 2020

У меня есть лист из опроса форм. Данные в листе имеют следующие заголовки:

B : Name1,
C: Name1_Grade,
D : Name1_Shoe_Size,
E : Name2,
F : Name2_Grade,
G : Name2_Shoe_Size,
H : Name3,
I : Nanme3_Grade,
J : Name3_Shoe_Size

В листе формы ответа содержится гораздо больше данных. Итак, я использую запрос, чтобы перенести эти данные на новый лист, =query('Data !B2:J150,"Select B, C, D, E, F, G, H, I where (C=4 OR F=4 OR I=4)".

. Эти данные будут перенесены на новый лист, однако, как только он окажется на листе, мне нужно переместить все имена, классы и размер обуви до 3 столбцов, поэтому конечный результат, как только данные будут добавлены на новый лист, будет выглядеть следующим образом:

Names   |  Grade | Shoe_Size 
John F  |  4     |  6.5

Формула выше работает, однако мне нужно получить все имена, оценки и размеры обуви в одну колонку. Не у всех есть несколько записей. Таким образом, формула должна быть в состоянии проверить, есть ли что-то в других столбцах. Форма, которая генерирует данные, настроена таким образом, чтобы один человек мог заполнить форму для всей семьи с 5 детьми.

Есть ли простой способ выполнить sh в одной формуле?

Вот ссылка на образец таблицы: https://docs.google.com/spreadsheets/d/1P9qgh0o3gjDikuaX75bBr9RyYz9ofxedAuJy0tXuRko/edit?usp=sharing

Ответы [ 2 ]

0 голосов
/ 28 января 2020

Хитрость заключается в том, чтобы сложить столбцы друг над другом. Чтобы данные располагались по столбцам.

Вы можете сделать это, используя фигурные скобки с точкой с запятой, например:

{B2:D;E2:G;H2:J}

Тогда, как сказал player0 , вы можно использовать Query(). Или вы можете попробовать использовать Filter():

=filter({B2:D;E2:G;H2:J},{C2:C;F2:F;I2:I}=4)
0 голосов
/ 28 января 2020

попробуй так:

=QUERY({Data!B2:D; Data!E2:G; Data!H2:J},  
 "select Col1,Col2,Col3 
  where Col2=4", 0)
...