专栏名称: 完美Excel
Excel与VBA技术学习与实践
目录
相关文章推荐
完美Excel  ·  使用VBA覆盖条件格式设置的单元格背景色 ·  3 天前  
Excel之家ExcelHome  ·  Excel最新功能-聚焦单元格,告别费眼的表 ... ·  6 天前  
Excel之家ExcelHome  ·  字符拆分与合并,学会套路很简单 ·  1 周前  
Excel之家ExcelHome  ·  四舍六入、批量替换、正则提取,手搓透视表,W ... ·  1 周前  
Excel之家ExcelHome  ·  数据有效性的几个典型应用 ·  1 周前  
51好读  ›  专栏  ›  完美Excel

Excel公式:一种获取不同列中数据项所有组合的简单方法

完美Excel  · 公众号  · Excel  · 2024-10-03 06:35

正文

学习Excel技术,关注微信公众号:
excelperfect

标签:Excel公式REDUCE函数

使用REDUCE函数,可以非常简单地获取不同列中数据项的所有组合。如下图1所示,列F中列出了列A至列D中数据的所有组合。

1
只需要单元格F1中输入公式:

=REDUCE(A1:A4,B1:D1,LAMBDA(x,y,TOCOL(x&"-"&TOROW(OFFSET(y,,,99),1))))

公式中,REDUCE函数的第二个参数是B1:D1,因此该函数将逐个计算B1C1D1

当计算B1时,我们将y替换为B1,OFFSET(B1,,,99),将返回单元格区域B1:B99,如下图2所示,0代表空单元格。

2
使用TOROW函数将B1:B99中的值转换成行并忽略空,如下图3所示。

3
公式中最初的x为列A{“1”;”2”;”3”;”4”},因此,

x & “-“ & TOROW(OFFSET(y,,,99),1)

返回如下图4所示。

4
使用TOCOL函数将上面的结果转换成一列,如下图5所示。

5
上面的结果成为REDUCE函数新的x,将与列C中的数据项进行计算。

如果有更多的列,只需改变相应参数表示的区域即可。示例如下图6所示。

6
注:学习整理自mrexcel.com,供有兴趣的朋友学习参考。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。