Excel 根据以下列中的匹配数据从行返回最大单元格

Excel 根据以下列中的匹配数据从行返回最大单元格,excel,google-sheets,Excel,Google Sheets,stackoverflow是全新的,如果此消息中的任何内容不符合典型规范,请道歉 我有一个事件表(Google Sheets),其中每列包括事件标题、日期、事件类型,然后是一个名称列表 我想做一些事情 返回最近有人参加的活动。例如,我想创建一个公式,为Alice返回2016年1月23日,为Kyle返回2016年1月16日 返回某人在特定时间段内参加的活动总数。例如,我希望能够返回Sam在2016年1月参加的活动数量的“2”。理想情况下,我也希望按事件类型进行此操作。例如,我想返回“1”表示Sa

stackoverflow是全新的,如果此消息中的任何内容不符合典型规范,请道歉

我有一个事件表(Google Sheets),其中每列包括事件标题、日期、事件类型,然后是一个名称列表

我想做一些事情

  • 返回最近有人参加的活动。例如,我想创建一个公式,为Alice返回2016年1月23日,为Kyle返回2016年1月16日
  • 返回某人在特定时间段内参加的活动总数。例如,我希望能够返回Sam在2016年1月参加的活动数量的“2”。理想情况下,我也希望按事件类型进行此操作。例如,我想返回“1”表示Sam在2016年1月参加的抗议活动数量,返回“1”表示社区活动数量
    我尝试过VLOOKUP、索引匹配组合和各种数组公式,但没有任何运气

    我建议您将数据转换为表视图:

    步骤1 添加新工作表

    加上这个公式

    • 分为A2:
    =转置(拆分(数组格式)(串联(转置(Sheet1!B5:F)和“,”),“,”))

    • 进入B2:
    =转置(拆分(联接(“,数组公式(报告(Sheet1!B2:F2&“,”,Sheet1!B3:F3)),“,”)

    • 进入C2:
    =转置(拆分(联接(“,数组公式(报告(Sheet1!B1:F1&“,”,Sheet1!B3:F3)),“,”)

    • 进入D2:
    =转置(拆分(连接(“,数组公式(报告(Sheet1!B4:F4&“,”,Sheet1!B3:F3)),“,”)

    步骤2 现在您将有一张漂亮的表格,可以使用公式:

  • 质疑
  • 滤器
  • 唯一+Sumif+Countif
  • 等等
  • 例如,这个公式:

    =ArrayFormula(VLOOKUP(唯一的(过滤器(A2:A,A2:A)”)),排序(A2:D,1,0,2,0),{1,2,3},0))

    将列出最近有人参加的活动:

    这个公式将显示某人参加过的活动的名称、月份和次数:

    =QUERY({A:D},“选择Col1,月(Col2)+1,计数(Col3),其中Col1''按Col1,月(Col2)+1标签月(Col2)+1'月'分组)

    还可以将事件类型添加到此查询中:


    =QUERY({A:D},“选择Col1,month(Col2)+1,Col4,count(Col3),其中Col1''按Col1,Col4,month(Col2)+1标签month(Col2)+1'month'分组)

    Wow!谢谢你,麦克斯。这真是帮了大忙。嘿,麦克斯!再次感谢您的帮助。我现在遇到的一个问题是,连接字符串对于Google表单来说太长了。下面是错误消息:连接的错误文本结果超过50000个字符的限制。有简单的解决方法吗?非常感谢!请添加另一个问题或查看此链接限制的答案:我的理解是工作表和Excel使用相同的编码。