Сравнить даты, если дата самая последняя, ​​вернуть данные соседних ячеек

Я работаю над документом Google Sheets для отслеживания случаев covid-19, зарегистрированных в домах престарелых, учреждениях и т.д. Я сделал копию соответствующего листа здесь так что вы можете взглянуть.

Однако я столкнулся с проблемой. Итак, на одном листе у нас есть все записи статей, в которых упоминается число случаев / смертей по всему штату. Мы хотим продолжать отслеживать их, но также иметь возможность легко извлекать / отображать самые последние сообщенные числа для любого данного состояния. По сути, я пытаюсь сделать следующее:

  1. Ограничить поиск только строками, в которых столбец A содержит определенное состояние (AL, FL, GA и т. Д.)
  2. Из этих строк сравните значения даты в столбце B, определите самое последнее.
  3. Как только будет найдена самая последняя запись для данного состояния, выведите значение столбца E (или D, или C, не имеет значения, я предполагаю, что изменение этой части будет достаточно простым)

Я дошел до =MAXIFS(B3:B100, A3:A100,"CT"), но я не уверен синтаксически, что сказать это дальше, или правильно ли я поступаю.

Обновление: мы приблизились к =query(A1:E,"select A, C where A = 'CO' and B = date '"&TEXT(DATEVALUE(max(B2:B)),"yyyy-mm-dd")&"'",1) и =query(A1:E,"select A, C, D, E where A = 'CO' and B = date '"&TEXT(DATEVALUE(max(B2:B)),"yyyy-mm-dd")&"'",1), но на практике это возвращает только строки с самой последней датой, а не самой последней датой относительно набора данных штата. вы смотрите на.

Необходимо иметь возможность отображать относительную самую последнюю запись для каждого состояния.

ОБНОВЛЕНИЕ ОБНОВЛЕНИЕ: я понял это! (имя листа добавлено, потому что я ссылаюсь на него с другого листа)

=query('Statewide Reported'!A1:E,"select A, B, C, D where A = 'NJ' and B = date '"&TEXT(maxifs('Statewide Reported'!B3:B100, 'Statewide Reported'!A3:A100, "NJ"),"yyyy-mm-dd")&"'",1)

Большое спасибо за то, что указали мне правильное направление !!


person KLW    schedule 27.04.2020    source источник


Ответы (1)


Вы можете использовать query(), чтобы выбрать количество смертей от CO, совпадающее с самой последней датой, используя эту формулу:

=query(A1:E,"select A, C where A = 'CO' and B = date '"&TEXT(DATEVALUE(max(B2:B)),"yyyy-mm-dd")&"'",1)

Если вы хотите смертей, случаев и всего пострадавших, вы можете использовать:

=query(A1:E,"select A, C, D, E where A = 'CO' and B = date '"&TEXT(DATEVALUE(max(B2:B)),"yyyy-mm-dd")&"'",1)

Обновление:

Это найдет максимальную дату для определенного штата (CO):

=query($A$1:$E,"select A, C, D, E where A = 'CO' and B = date '"&TEXT(maxifs($B$2:$B,$A$2:$A,"CO"), "yyyy-mm-dd")&"'",1)

Или, если вы хотите указать имя штата в ячейке (H1), вы можете использовать эту формулу:

=query($A$1:$E,"select A, C, D, E where A = '"& $H$1 &"' and B = date '"&TEXT(maxifs($B$2:$B,$A$2:$A,$H$1), "yyyy-mm-dd")&"'",1)
person gries    schedule 27.04.2020
comment
@gries Ack, на самом деле, на практике кажется, что он выводит только общие самые последние результаты, а не самые последние результаты для каждого состояния. Например, хотя для многих штатов назначена дата 27.04.20, самая последняя дата в Нью-Джерси - 23.04.20, но она не включается в выходные данные. - person KLW; 28.04.2020
comment
Он отлично работает для отображения строк с самым последним значением даты; есть идеи о том, как я могу настроить его, чтобы он отображал относительные, а не абсолютные максимальные значения? (Максимальное значение для каждого набора данных состояния, а не только отображение тех строк, которые содержат общее максимальное значение) - person KLW; 28.04.2020