数组公式的替代方法 - 对唯一值进行排序

Alternative to array formula - Sort unique values

我有一个作品sheet(旧报告),其中有专栏"A"。这包含一个公式并提取数字(例如:21212、122、121212)

在另一个 sheet 上,我想要不带空格(垂直)的唯一值。我使用这个网站存档了这个:

=IFERROR(INDEX(INDIRECT("'"&'Old Report'!$K&" "&'Old Report'!$L&"'!$A:$A"), MATCH(0,IF(ISBLANK(INDIRECT("'"&'Old Report'!$K&" "&'Old Report'!$L&"'!$A:$A")),1,COUNTIF($L:L1, INDIRECT("'"&'Old Report'!$K&" "&'Old Report'!$L&"'!$A:$A"))), 0)

问题是,这个公式滞后于工作sheet。

有没有不用数组的其他方法?

我不介意使用辅助列。

尝试将 $A:$A 替换为 $A$1:$A$2000,这样公式就变成了

=IFERROR(INDEX(INDIRECT("'"&'Old Report'!$K&" "&'Old Report'!$L&"'!$A:$A00"), MATCH(0,IF(ISBLANK(INDIRECT("'"&'Old Report'!$K&" "&'Old Report'!$L&"'!$A:$A00")),1,COUNTIF($L:L1, INDIRECT("'"&'Old Report'!$K&" "&'Old Report'!$L&"'!$A:$A00"))), 0)

这将计算次数从 1,048,576 次减少到 2,000 次。

当然它仍然是一个数组公式,但如果您不尝试将它们用于太多行,数组公式就可以了。