Google sheets 比较日期,如果日期是最近的,则返回相邻单元格数据

Google sheets 比较日期,如果日期是最近的,则返回相邻单元格数据,google-sheets,formula,google-sheets-formula,worksheet-function,Google Sheets,Formula,Google Sheets Formula,Worksheet Function,我正在编写一份Google Sheets文档,用于跟踪疗养院、机构等报告的新冠病毒-19病例。我在我的表单中大量使用公式,以尽量减少我的同事可能意外地弄错数字的方式 不过,我遇到了一个问题。因此,在一张纸上,我们有提到全州病例/死亡人数的所有文章记录。我们希望继续跟踪这些数据,但也能够轻松检索/显示任何给定州最近报告的数字。基本上我想做的是: 将搜索分隔为仅列A包含特定状态(AL、FL、GA等)的行 在这些行中,比较B列中的日期值,确定最近的一行 一旦找到给定状态的最新条目,然后输出列E的值(或

我正在编写一份Google Sheets文档,用于跟踪疗养院、机构等报告的新冠病毒-19病例。我在我的表单中大量使用公式,以尽量减少我的同事可能意外地弄错数字的方式

不过,我遇到了一个问题。因此,在一张纸上,我们有提到全州病例/死亡人数的所有文章记录。我们希望继续跟踪这些数据,但也能够轻松检索/显示任何给定州最近报告的数字。基本上我想做的是:

  • 将搜索分隔为仅列A包含特定状态(AL、FL、GA等)的行
  • 在这些行中,比较B列中的日期值,确定最近的一行
  • 一旦找到给定状态的最新条目,然后输出列E的值(或D,或C,无所谓,我假设更改该部分足够简单)
  • 我得到了
    =MAXIFS(B3:B100,A3:A100,“CT”)
    ,但我不确定接下来该怎么说,或者我的方法是否正确

    更新:我们在
    =query(A1:E,“选择A,C,其中A='CO'和B=date'”&文本(DATEVALUE(max(B2:B)),“yyyy-mm-dd”)&“,”,1)
    =query(A1:E,“选择A,C,D,E,其中A='CO'和B=date'”&文本(DATEVALUE(max(B2:B)),“yyyy-mm-dd”)&“,”1)
    ,,但是实际上,它只返回带有绝对最近日期的行,而不是相对于您正在查看的州数据集的最近日期

    需要能够显示每个状态的相对最新条目

    更新:我知道了!(添加了图纸名称,因为我从其他图纸中引用了该名称)

    非常感谢你为我指明了正确的方向

    您可以使用
    query()
    选择死亡人数,以便使用以下公式与最近日期进行匹配:

    =query(A1:E,"select A, C where A = 'CO' and B = date '"&TEXT(DATEVALUE(max(B2:B)),"yyyy-mm-dd")&"'",1)
    
    =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)
    
    如果您想要死亡、病例和总受影响人数,可以使用:

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

    这将查找特定状态(CO)的最长日期:

    或者,如果要引用单元格(H1)中的状态名称,可以使用以下公式:

    =query(A1:E,"select A, C where A = 'CO' and B = date '"&TEXT(DATEVALUE(max(B2:B)),"yyyy-mm-dd")&"'",1)
    
    =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)
    
    您可以使用
    query()
    使用以下公式选择与最近日期匹配的死亡人数:

    =query(A1:E,"select A, C where A = 'CO' and B = date '"&TEXT(DATEVALUE(max(B2:B)),"yyyy-mm-dd")&"'",1)
    
    =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)
    
    如果您想要死亡、病例和总受影响人数,可以使用:

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

    这将查找特定状态(CO)的最长日期:

    或者,如果要引用单元格(H1)中的状态名称,可以使用以下公式:

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

    @gries Ack,实际上,在实践中,它似乎只输出整体的最新结果,而不是每个州的最新结果。例如,虽然许多州的关联日期为4/27/20,但NJ的最近日期为4/23/20,但输出中不包括该日期。它非常适合显示具有绝对最近日期值的行;你知道我如何调整它,使它显示相对最大值,而不是绝对最大值吗?(每个州数据集的最大值,而不是仅显示包含总体最大值的行)@gries Ack,实际上,在实践中,它似乎只输出总体最新结果,而不是每个州的最新结果。例如,虽然许多州的关联日期为4/27/20,但NJ的最近日期为4/23/20,但输出中不包括该日期。它非常适合显示具有绝对最近日期值的行;你知道我如何调整它,使它显示相对最大值,而不是绝对最大值吗?(每个州数据集的最大值,而不是仅显示包含总体最大值的行)