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

Arrays 数组公式的替代方法-对唯一值进行排序,arrays,excel,uniqueidentifier,Arrays,Excel,Uniqueidentifier,我有一份工作表(旧报告),上面有“a”栏。它包含一个公式,用于提取数字(例如:21212、122、121212) 在另一张表上,我想要不带空格(垂直)的唯一值。我使用此网站进行了归档: =IFERROR(INDEX(INDIRECT("'"&'Old Report'!$K$1&" "&'Old Report'!$L$1&"'!$A:$A"), MATCH(0,IF(ISBLANK(INDIRECT("'"&'Old Report'!$K$1&" "

我有一份工作表(旧报告),上面有“a”栏。它包含一个公式,用于提取数字(例如:21212、122、121212)

在另一张表上,我想要不带空格(垂直)的唯一值。我使用此网站进行了归档:

=IFERROR(INDEX(INDIRECT("'"&'Old Report'!$K$1&" "&'Old Report'!$L$1&"'!$A:$A"), MATCH(0,IF(ISBLANK(INDIRECT("'"&'Old Report'!$K$1&" "&'Old Report'!$L$1&"'!$A:$A")),1,COUNTIF($L$1:L1, INDIRECT("'"&'Old Report'!$K$1&" "&'Old Report'!$L$1&"'!$A:$A"))), 0)
问题是,这个公式落后于工作表

在没有阵列的情况下,还有其他方法可以做到这一点吗


我不介意使用helper列。

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

=IFERROR(INDEX(INDIRECT("'"&'Old Report'!$K$1&" "&'Old Report'!$L$1&"'!$A$1:$A$2000"), MATCH(0,IF(ISBLANK(INDIRECT("'"&'Old Report'!$K$1&" "&'Old Report'!$L$1&"'!$A$1:$A$2000")),1,COUNTIF($L$1:L1, INDIRECT("'"&'Old Report'!$K$1&" "&'Old Report'!$L$1&"'!$A$1:$A$2000"))), 0)
这将计算数量从1048576减少到2000


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

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

=IFERROR(INDEX(INDIRECT("'"&'Old Report'!$K$1&" "&'Old Report'!$L$1&"'!$A$1:$A$2000"), MATCH(0,IF(ISBLANK(INDIRECT("'"&'Old Report'!$K$1&" "&'Old Report'!$L$1&"'!$A$1:$A$2000")),1,COUNTIF($L$1:L1, INDIRECT("'"&'Old Report'!$K$1&" "&'Old Report'!$L$1&"'!$A$1:$A$2000"))), 0)
这将计算数量从1048576减少到2000


当然,它仍然是一个数组公式,但如果不尝试将数组公式用于太多的行,则可以使用数组公式。

能否对“旧报告”中的行数设置上限?我可以使用2000行公式。但并不是所有的2000人都会被填满。只有一些会有数字,一些数字会像我上面提到的那样被重复。那么首先,用$A$1$A$2000替换$A$A$A$2000并尝试一下是值得的,因为$A$A意味着1048576 rowsThanks Tom,这很有效。我如何选择你的评论作为答案?我将把它作为答案-:)你能在“旧报告”中设置行数的上限吗?我可以使用2000行公式。但并不是所有的2000人都会被填满。只有一些会有数字,一些数字会像我上面提到的那样被重复。那么首先,用$A$1$A$2000替换$A$A$A$2000并尝试一下是值得的,因为$A$A意味着1048576 rowsThanks Tom,这很有效。如何选择您的评论作为答案?我将把它作为答案-:)