如何仅将以下公式应用于可见单元格?

问题描述 投票:0回答:1
=SORT(UNIQUE(FILTERXML("<t><s>"&TEXTJOIN("</s><s>",TRUE,A2:J6)&"</s></t>","//s")))

以上公式用于将多列合并为一列。

我只需要对可见单元格应用上述公式。 “d”在“A”列中被过滤,但仍然存在于结果中。

请帮助我。

谢谢你。

Before Filtering

After Filtering

我的文件

excel excel-formula cell visible
1个回答
0
投票

我找到了一种解决方法,如果数据集不太大,可能会对您有所帮助:

此解决方案需要辅助列。

如果我们将

=ROW()^10
放入
K2
并将其向下拖动到范围的末尾(或立即使用
=ROW(A2:J6)^10
),那么我们创建了一个值的辅助列,如果我们对组合求和,它们将始终求和为唯一值价值观。我们将在我们的解决方案中使用它。

当我们手动过滤掉任何行时,辅助列的行也会被过滤掉。函数

SUBTOTAL
具有仅处理未过滤数据的内置函数。在本例中,我们使用 SUM,其参数是
109
。我们可以在我们的解决方案中利用它:

=LET(range,   A2:J6,
     helper,  K2:K6,
     r,       ROWS(range),
     visible, REDUCE("",BASE(SEQUENCE(SUM(COMBIN(r,SEQUENCE(r)))),2,r),
              LAMBDA(x,y,
              IF( SUM(FILTER(helper,--MID(y,SEQUENCE(r),1)))=SUBTOTAL(109,helper),
                  FILTER(range,--MID(y,SEQUENCE(r),1)),x))),
SORT(UNIQUE(TOCOL(visible,1))))

手动过滤器之前

应用手动过滤器后 基本上,该公式检查辅助列所有可能组合的总和是否等于辅助列的过滤小计,而不是对这些行的组合应用过滤器。

我知道 REDUCE 或 LAMBDA 在 Office 2021 中不起作用,因此我在此公式中将 FILTERXML 更改为 TOCOL。

虽然它在 Office 2021 中不起作用,但我认为您确实可以访问 excel 网页版,并且所有这些都可以在那里使用。我希望对您的情况有所帮助。

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