无法使用此过滤/排序/映射功能对多列进行过滤和排序?

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

我有一个函数,可以连接多个工作表中的列,连接注释并从“状态”工作表中引入最大值。

我希望能够单击标题并对 A 列进行排序,然后根据需要对另一列及更多列进行排序。我目前只能按一列进行排序:

=sort( 
  filter( 
    hstack( 
      choosecols('Raw Data'!A3:Z,5,21,4,3,9), 
      iferror(map('Raw Data'!D3:D, lambda(Σ, if(Σ="",,textjoin(char(10),1,sort(filter({TEXT(Comments!C:C,"m/d/yy : ")&Comments!B:B},Comments!A:A=Σ),filter(Comments!C:C,Comments!A:A=Σ),))))),""), 
      xlookup('Raw Data'!D3:D,Statuses!A:A,Statuses!B:B,,,-1), choosecols('Raw Data'!A3:Z,6,23,7,11,1,2) 
    ), 
    'Raw Data'!A3:A <> "" 
  ), 
  column(E1), false  
)

有没有办法添加

column(E1), false
中的所有列,有点像
columns(1:13),false

工作表链接位于此处,公式位于单元格 A2 中。

再次,我希望能够按我想要的顺序对任意数量的列进行排序和过滤,就像使用普通工作表一样。这可能吗?

google-sheets
1个回答
0
投票

我还没有找到自动添加它的方法,但我建议您使用这种解决方法,借助 REDUCE 和列数递减序列对每列的范围进行排序:

=REDUCE( 
  filter( 
    hstack( 
      choosecols('Raw Data'!A3:Z,5,21,4,3,9), 
      Iferror(map('Raw Data'!D3:D, lambda(Σ, if(Σ="",,textjoin(CARACTER(10),1,sort(filter({TEXT(Comments!C:C,"m/d/yy : ")&Comments!B:B},Comments!A:A=Σ),filter(Comments!C:C,Comments!A:A=Σ),))))),""), 
      XLOOKUP('Raw Data'!D3:D,Statuses!A:A,Statuses!B:B,,,-1), choosecols('Raw Data'!A3:Z,6,23,7,11,1,2) 
    ), 
    'Raw Data'!A3:A <> "" 
  ),SEQUENCE(13,1,13,-1),
LAMBDA(a,v,SORT(a,v,FALSE)))

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