Запросить конкретную строку + удалить X столбцов + и сложить остальные в одной формуле? - PullRequest
1 голос
/ 19 марта 2020

У меня есть файл CSV, который я извлекаю из базы данных. Это неудобное расположение, поэтому мне нужно реорганизовать его и отобразить результат на отдельном листе.

Вот пример фиктивной структуры данных, которую я получаю. https://docs.google.com/spreadsheets/d/1sTfjr-rd0vMIeb3qgBaq9SC8felJ1Pb4Vk_fMNXQKQg/edit?usp=sharing

Это выглядит так. База данных растет с каждым днем, а иногда и странами, поэтому мне нужно учитывать это в моей формуле. enter image description here

Мне нужно получить данные по каждой стране и отобразить их по дате. Мне не нужны данные из столбцов A, C и D. И когда есть несколько состояний, мне нужно их суммировать в один столбец.

Это должно выглядеть так и продолжать расти вниз. Я собираюсь использовать эту таблицу для диаграммы enter image description here

То, что я пробовал до сих пор

=TRANSPOSE(QUERY(IMPORTRANGE("url_to_a_separate_sheet_where_I_importing_a_row_csv_file", "CSV-source-sheet!A1:500"), "SELECT * WHERE Col2='Germany'"))

Это работает, вроде как. Но тянет ненужные столбцы, и я не могу понять, как суммировать страны с несколькими государствами. Когда я добавляю select sum(*), это дает мне большую и длинную ошибку. Я предполагаю, что это может быть из-за ненужных столбцов, которые формула не может суммировать, и я не знаю, как их опустить. Я застрял

Я попытался сместить и пропустить не повезло. Есть идеи?

1 Ответ

2 голосов
/ 19 марта 2020

попробовать:

=ARRAYFORMULA(TRANSPOSE(QUERY({Sheet2!B:B, Sheet2!E:BE}, 
 "select Col1,"&TEXTJOIN(",", 1, 
 "sum(Col"&ROW(INDIRECT("Sheet2!A2:A"&COUNTA(Sheet2!1:1)-5))&")")&" 
  where Col1 is not null 
  group by Col1 
  label Col1'Date'", 1)))

0

демонстрация электронной таблицы

...