我有一个带有输入选项卡的谷歌工作表文件:Input Range 01
和Input Range 02
如何使用最简单的公式和尽可能少的范围引用来获得输出表?并且如果lambda和lhf能够被避免是更好的。看到这个问题
输入范围01
E | F | G |
---|---|---|
集1 | 集2 | |
集1 | 集2 | |
集1 | 集2设置1 | |
集1 | 集2 | |
设置2 | 设置3 |
=ARRAYFORMULA(LAMBDA(rg,QUERY(IF((rg<>"")*(OFFSET(rg,0,4)<>""),OFFSET(rg,0,4)&" "&rg,),"where "&JOIN(" or ","Col"&SEQUENCE(COLUMNS(rg))&" is not null "),0))(A2:C7))
使用CCD_ 3的范围引用最少。CCD_ 4用于动态级联。使用OFFSET
引用其他范围,使用QUERY
的where Col is not null
检查类别是否为空。
MAP
是另一种选择。MAP
从每个提供的范围中提供一个值:
=ARRAYFORMULA(LAMBDA(rg,QUERY(MAP(rg,OFFSET(rg,0,4),LAMBDA(cat,set,IF(cat="",,IF(set="",,set&" "&cat)))),"where "&JOIN(" or ","Col"&SEQUENCE(COLUMNS(rg))&" is not null"),0))(A2:C7))