将 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认同)