我有一个 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 行并满足以下条件:
所以根据我上面的例子,这应该是我的输出:
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 列组并显示每组第一个列标题的名称?
您可以尝试:
=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)),"-_-")))