条件格式公式可突出显示序列号列表中第一个缺失数字之后的所有数字,其中一个单元格可以包含多个值

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

Google 表格链接

工作表名称:条件格式(第 2 部分):

enter image description here
(符合条件格式的行以红色突出显示)

Explanation:

对于“FIN YEAR”X-X 中的“STUDIO”A,第一个缺失的数字是 7,因此在 7 之后,X-X 中 A 中的所有数字都将是红色,类似地,对于 O-O 第一个缺失的数字是 3,因此在 3 之后,O-O 中 A 中的所有数字都将是红色。
对于“FIN YEAR”O-O 中的“STUDIO”B,第一个缺失的数字是 1,因此在 1 之后,O-O 中 B 中的所有数字都将为红色。

问题:我想要一个条件格式公式,该公式对于每个“FIN YEAR”中每个“STUDIO”的第一个缺失数字之后的所有数字都给出 TRUE。 (如上图所示)

注意:
每个“STUDIO”的每个“FIN YEAR”的数字从 1 开始。
数字可以重复任意次数。
每个输入都是随机的,任何列都没有顺序。
一个单元格可以有多个值。

表:

工作室 新年 数字 (输出)条件格式化
A X-X 3,4
A X-X 5,8 正确
A X-X 1
A O-O 8 正确
A X-X 6
B X-X 1
B X-X 2
C X-X 1
B O-O 4 正确
B X-X 3
A X-X 2 正确
C X-X 2
C X-X 3
A O-O 1
A O-O 2
A O-O 2
A O-O 4 正确
C O-O 1
C O-O 1

请不要将此标记为第 1 部分的重复问题,因为我被要求为此第 2 部分创建一个单独的问题。

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

这是一种方法,您可以测试一下:

🌀公式应用于列_D,然后将条件格式应用于列 A、B、C,因为直接用作条件格式规则时,此类计算量大的公式会极大地减慢工作表的速度。

=let(Ξ,map(let(z,sort(unique(A2:A&B2:B)),filter(z,z<>"")),lambda(Λ,hstack(Λ,let(x,split(join(",",filter(C:C,A:A&B:B=Λ)),","),y,sequence(1,max(x)),ifna(min(filter(y,isna(xmatch(y,x))))))))),
 map(A2:A,B2:B,C2:C,lambda(a,b,c,if(counta({a,b,c})<>3,,let(Σ,index(xmatch(vlookup(a&b,filter(Ξ,index(Ξ,,2)<>""),2,),split(c,","),1)),if(isnumber(Σ),true,))))))

enter image description here

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