【发布时间】:2021-06-11 13:29:58
【问题描述】:
我目前的公式是:
=INDEX(QUERY({$A$2:$P},"select max(Col"&COLUMN($M$2)&") where lower(Col"&COLUMN($D$2)&") contains lower('"& D3 &"')",1),2,1)
这是我使用的以下逻辑:
- 我的客户有不同的设备,我每年都要做QA。在那张表上,我列出了我的客户提供的所有设备。
- Col D 有我客户的姓名。每个客户都有多条记录,每台设备对应一条记录。
- Col M 有我上次对他们的设备进行 QA 的日期。
- 我使用 QUERY 函数检索了我对那个客户的设备进行 QA 的最后日期(使用 max(Col M))。
- 使用 INDEX 函数仅检索“最大日期”的值。
我想要什么:
我设法只为单元格 D3 执行此操作,但我想使用 ARRAYFORMULA 将其扩展为 D3:D。我尝试使用以下这 3 个选项进行应用,但它始终只返回一个值:
1. =INDEX(QUERY({$A$2:$P},"select max(Col"&COLUMN($M$2)&") where lower(Col"&COLUMN($D$2)&") contains lower('"& ARRAYFORMULA(D3:D) &"')",1),2,1)
2. =ARRAYFORMULA(INDEX(QUERY({$A$2:$P},"select max(Col"&COLUMN($M$2)&") where lower(Col"&COLUMN($D$2)&") contains lower('"& D3:D &"')",1),2,1))
3. =ARRAYFORMULA(INDEX(QUERY({$A$2:$P},"select max(Col"&COLUMN($M$2)&") where lower(Col"&COLUMN($D$2)&") contains lower('"& ARRAYFORMULA(D3:D) &"')",1),2,1))
我怎样才能让它工作?
【问题讨论】:
-
你能分享一张包含一些示例数据的表格吗?那样会更容易理解您要做什么。
-
Index与arrayformula一起使用时将始终返回一行值,这是限制。如果要使用index函数,则需要将公式复制到所需的所有行,否则请尝试其他公式
标签: google-sheets