在 excel 中追加两个列表

Appending two lists in excel

我一直在尝试和搜索如何在 excel 中追加两个列表以在公式中使用。这些列表不存在于列中,它们是使用公式创建的。我想将两个列表合并为一个列表,不是为了显示值,而是在公式中使用新列表。我正在使用 excel 365(UNIQUE 函数)。让我用一个真正的小案例来代替我最初的文字。

我有一个 excel 文件,其中包含 3 个作品 sheet。 Sheet1 是:

Sheet2 是:

现在我想 运行 在 Sheet3 中进行一些分析。在我的示例中,我想计算 A 列中有多少个唯一值具有包含字母 'a'、'b、'c' 或 'd' 之一的 B 列。例如,在 Sheet1 中,字母 'a' 出现在所有行中。 A 列有 3 个唯一值。所以 'a' 的结果是 3。对于 A 列为“3”的情况,字母 'b' 不会出现。因此 'b' 的结果是“2”。

所以我创建了一个 Sheet3 来显示我的结果。第一列包含字母列表 {a, b, c, d}。然后我使用公式:

=COUNT(UNIQUE(FILTER(Sheet1!$A:$A0, ISNUMBER(SEARCH(A1, Sheet1!$B:$B0)))))

由内而外:SEARCH 函数在单元格 B1 到 B100 中查找(我可以指定更大的范围)A 列中指定值的位置在哪里(当前 sheet).如果是,则 SEARCH return 是一个数字。我检查 return 值是否为数字 (ISNUMBER) 并使用它来过滤 Sheet1 的 A 列中的值。然后我将 UNIQUE 函数应用于这些值并最终计算它们。

然后我对 Sheet2 中的值执行相同的操作。它有效。这是输出:

B 列是 Sheet1 中的唯一值(如上所述)的数量,C 列与 Sheet2 中的相同。

到目前为止一切顺利。但是现在我想在全球范围内计算唯一值。不是每个 Sheet。不能只添加 B 列和 C 列的值,因为可能存在重叠。例如,'a' 的结果应该是 3,而不是 5。

这里的解决方案是获取两个唯一列表(一个来自 Sheet1,另一个来自 Sheet2),加入它们,UNIQUE 这个新列表,然后数数。我如何加入他们?这是我的问题。

请注意,此 'counting of unique values' 只是一个示例。我可能想找到最大值,或者对它们进行排序,或者只找到质数,或者平均值,或者中位数,或者其他东西。所以我需要一个通用的方法来加入结果。

当所有数据都在同一个工作中时,我得到了接近可行的选择sheet。

最后请注意,我的数据量不大,但很大(最多几千行)。

您可以尝试以下方法:

=LET(x,{"A","B","C"},y,{"D","E"},z,CHOOSE({1,2},x,y),cnt,MAX(COUNTA(x),COUNTA(y)),seq,SEQUENCE(cnt*2),final,INDEX(z,MOD(seq-1,cnt)+1,CEILING(seq/cnt,1)),FILTER(final,NOT(ISERROR(final))))

此处 'x' 和 'y' 变量都是两个(垂直)数组的占位符。在这种情况下,我使用了:{"A","B","C"}{"D","E"}。假设您只想将第二个数组直接放在第一个数组下面,上面的建议就是这样做的: