将 UNIQUE 与不同工作表上的非相邻列一起使用

Ike*_*Ike 5 excel excel-formula office365

我在两张纸上有两张桌子 - 比如说 tblFruits1 和 tblFruits2。两者都有一个“名称”列。例如,苹果公司就出现在这两个列表中。列表可能有不同的行数

Sheet1 上的 tblFruits1

姓名 颜色
苹果 红色的
桃 黄色的
凤梨 黄色的

Sheet2 上的 tblFruits2

姓名 颜色
苹果 红色的
樱桃 红色的
香蕉 黄色的
甜瓜 绿色的

现在我想在第三张纸上获得两个表名称的唯一列表。

Sheet3 上的预期结果

姓名
苹果
桃
凤梨
樱桃
香蕉
甜瓜

=UNION((tblFruits1[Name],tblFruits2[Name]))返回错误。

我尝试了SEQUENCE和 的变体INDEX,但没有成功。

所以问题是:

如何从两个不同工作表上的两个列范围“构造” UNIQUE 的矩阵参数?

(我正在寻找的是非 VBA解决方案 - 我知道如何在 VBA 中处理这个问题。)

chr*_*sen 6

该VSTACK功能使 Union 过时(仅在撰写本文时可供内部人员使用)

由于查找多个范围的并集本身就是一个非常有用的函数,因此我使用 LAMBDA 来做到这一点。然后可以将其输出传递给 UNIQUE

Lambda,我毫无想象力地称之为 UNION

=LAMBDA(tabl1, tabl2,
        LET(rowindex, SEQUENCE(ROWS(tabl1)+ROWS(tabl2)),
            colindex, SEQUENCE(1,COLUMNS(tabl1)),
            IF(rowindex<=ROWS(tabl1), 
               INDEX(tabl1,rowindex,colindex),  
               INDEX(tabl2,rowindex-ROWS(tabl1),colindex)
            )
        )
 )
Run Code Online (Sandbox Code Playgroud)

然后

=UNIQUE(Union(tblFruits1[Name],tblFruits2[Name]))
Run Code Online (Sandbox Code Playgroud)

给出您想要的结果

在此输入图像描述

  • 这很棒!!!并支持我准备一个关于使用 LAMDA 和 LET 的最佳实践的问题(尽管我还没有 LAMBDA) (2认同)