Ike*_*Ike 5 excel excel-formula office365
我在两张纸上有两张桌子 - 比如说 tblFruits1 和 tblFruits2。两者都有一个“名称”列。例如,苹果公司就出现在这两个列表中。列表可能有不同的行数
Sheet1 上的 tblFruits1
| 姓名 | 颜色 |
|---|---|
| 苹果 | 红色的 |
| 桃 | 黄色的 |
| 凤梨 | 黄色的 |
Sheet2 上的 tblFruits2
| 姓名 | 颜色 |
|---|---|
| 苹果 | 红色的 |
| 樱桃 | 红色的 |
| 香蕉 | 黄色的 |
| 甜瓜 | 绿色的 |
现在我想在第三张纸上获得两个表名称的唯一列表。
Sheet3 上的预期结果
| 姓名 |
|---|
| 苹果 |
| 桃 |
| 凤梨 |
| 樱桃 |
| 香蕉 |
| 甜瓜 |
=UNION((tblFruits1[Name],tblFruits2[Name]))返回错误。
我尝试了SEQUENCE和 的变体INDEX,但没有成功。
所以问题是:
如何从两个不同工作表上的两个列范围“构造” UNIQUE 的矩阵参数?
(我正在寻找的是非 VBA解决方案 - 我知道如何在 VBA 中处理这个问题。)
该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)
给出您想要的结果
| 归档时间: |
|
| 查看次数: |
2878 次 |
| 最近记录: |