返回总和大于 0 的列组的标题数据的公式

问题描述 投票:0回答:1

我有一个 Google 表格,其中“操作员数量”选项卡上包含以下数据(它以这种方式无限期地水平和垂直延续):

操作员: 山姆L 鲍勃·R 桑德拉·S 汤姆E 贝基W
转变: 周末 夜晚
日期 CH LD 需求咨询 AQ PQ CH LD 需求咨询 AQ PQ CH LD 需求咨询 AQ PQ CH LD 需求咨询 AQ PQ CH LD 需求咨询 AQ PQ
2023 年 4 月 30 日 2 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2023 年 5 月 1 日 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2023 年 5 月 2 日 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 155 0
2023 年 5 月 9 日 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2023 年 5 月 11 日 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 122 0 0 0 0 0
2023 年 6 月 15 日 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

在仪表板选项卡上,我在单元格 A1 中显示月份和年份(在本例中为“2023 年 5 月”),这是通过以下公式计算的:

=TEXT(EDATE(today(),-11),"MMM YYY")

使用本月和年份来使用“运算符数量”选项卡上 A 列中的日期来缩小要搜索的行范围,我尝试为“仪表板”选项卡的单元格 A2 创建一个公式,该公式将列出 A2 范围内的所有运算符: A12 出现在操作表第 1 行并满足以下条件:

  1. 他们上白班(如第 2 行所述)。
  2. 他们在分配给他们的五列中的任何一个单元格中都有一个大于 0 的数字(因此 Bob R 的范围是 G5:K8)。

所以根据我上面的例子,这应该是我的输出:

2023 年 5 月
鲍勃·R
汤姆E
贝基W

但是,我能做的最好的就是使用以下公式,但它只返回第 1 行名称正下方的列中适用范围内大于 0 的数字的操作员名称:

=FLATTEN(FILTER('Operator Qty'!$B$1:$1,('Operator Qty'!$B$2:$2="Day")*TRANSPOSE(MMULT(TRANSPOSE(('Operator Qty'!$A$4:$A>=EOMONTH(C$1,-1)+1)*('Operator Qty'!$A$4:$A<=EOMONTH(C$1,0))*('Operator Qty'!$B$4:$9>0)),SEQUENCE(ROWS('Operator Qty'!$A$4:$A),1,1,0))>0)))

如何搜索所有 5 列组并显示每组第一个列标题的名称?

google-sheets google-sheets-formula
1个回答
0
投票

您可以尝试:

=let(Σ,reduce(,'Operator Qty'!B4:index('Operator Qty'!Z:Z,match(,0/('Operator Qty'!A:A<>""))),lambda(a,c,vstack(a,let(〱,lambda(x,scan(,x,lambda(a,c,if(c="",a,c)))),hstack(index('Operator Qty'!A:A,row(c)),index(〱('Operator Qty'!1:1),column(c)),index(〱('Operator Qty'!2:2),column(c)),c))))),
     unique(ifna(filter(index(Σ,,2),eomonth(A1,)=eomonth(index(Σ,,1),),index(Σ,,3)="Day",index(Σ,,4)),"-_-")))

© www.soinside.com 2019 - 2024. All rights reserved.