如果具有相同身份的人的价值观符合公式,则过滤谷歌电子表格

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

Google电子表格中的图像包含人物信息;如果一个人在多家商店工作,则会依次显示工作日,并在他在每家商店工作的日期处写上“X”或“H”。如果B列中有多个相同的id号,并且人的班次重叠,即“X”重叠(或“H”,不管它说什么),过滤公式

下面的公式带来了组合,但也带来了不相容的组合,并给出了错误的结果。

=FILTER(TEST1!B3:AH, COUNTIF(TEST1!B3:B, TEST1!B3:B) > 1, BYROW(TEST1!D3:AH, LAMBDA(X, SUM(LEN(X) <> "") > 1)))

https://docs.google.com/spreadsheets/d/1wMzXjcELKdg-j1o5kEI_mL6d9Qr-6QM8-IMDUz4yFBo/edit?gid=1463532441#gid=1463532441

enter image description here

我的期望是这样的;当一名员工在多个商店工作时,我会用 X(或文本)标记他工作的日期,如果我不小心在同一天在两家商店中标记了 X,我想过滤它们,然后手动更正它们。例如,当月 12 日,两个商店不应该有一个 X,因为两个商店不能同时营业,它应该在一个。如果过滤结果其中任何一个重叠,则属于该人的整个列表应该可见。结果,应该出现下图中的列表;

enter image description here

以及最后的结果; enter image description here

我想看看相交的日子

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

您可以尝试:

=let(Σ,tocol(,1),reduce(Σ,unique(tocol(TEST1!B3:B,1)),lambda(a,c,vstack(if(iserr(+a),Σ,a),let(Λ,bycol(filter(TEST1!D:AH,TEST1!B:B=c),lambda(y,if(counta(y)>1,"X",))),
 if(counta(Λ)=0,Σ,hstack(chooserows(filter(TEST1!A:C,TEST1!B:B=c),1),Λ)))))))

enter image description here

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