本文介绍了使用Lambda在Excel中生成所有排列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是一个常见的问答问题:如何在Excel中生成所有排列:
2011 2016 2017 2017 superuser 2018 2021
现在在2022中,它在作为副本关闭之前没有得到答案,这很遗憾,因为Lambda确实改变了回答此问题的方式。
我很少有同样的需求,并且因为不得不重新发明一个复杂的轮子而感到沮丧。所以,我会重新提出问题,并在下面提出我自己的答案。我不会将任何意见书作为答案,但会邀请好的想法。我相信我自己的方法可以改进。
重申2022问题我正试图在EXCEL中创建一个仅包含公式的循环。我正在努力实现的目标如下所述。假设我有3列作为输入:(I)国家/地区;(Ii)变量;(Iii)年份。我想从这些输入扩展,然后为这些参数赋值。
输入:
GB | GDP | 2015年 |
DE | 区域 | 2016年 |
频道 | 区域 | 2015年 |
输出:
GB | GDP | 2015年 |
GB | GDP | 2016年 |
GB | 区域 | 2015年 |
GB | 区域 | 2016年 |
DE | GDP | 2015年 |
DE | GDP | 2016年 |
DE | 区域 | 2015年 |
DE | 区域 | 2016年 |
如何使用Excel高效地执行此操作?
展开2018年的问题我有三列,每列有不同种类的主数据,如下图所示:
现在,我想要这三个单元格的所有可能组合-如
aa kk jj aa kk ff aa ll jj aa ll ff aa mm jj ...这可以用公式来完成吗?我找到一个有2列的公式,但我无法正确地将其扩展到3列
包含2列的公式:
=IF(ROW()-ROW($G$1)+1>COUNTA($A$2:$A$15)*COUNTA($B$2:$B$4),"", INDEX($A$2:$A$15,INT((ROW()-ROW($G$1))/COUNTA($B$2:$B$4)+1))& INDEX($B$2:$B$4,MOD(ROW()-ROW($G$1),COUNTA($B$2:$B$4))+1))其中g1是放置结果值的单元格
常见要求 它们的共同点是,它们都试图从有序的符号集创建有序的排列集。它们碰巧都需要3个级别的符号,但2018年的问题是请求帮助从2级到3级,2021年的问题是要求从3级到5级。2022年的问题只是要求3级,但输出需要一个表。如果我们像这样上升到6级怎么办?
A | F | K | P | U | 1 |
B | G | L | Q | V | 2 |
C | H | R | W | 3 | |
D | X | 4 | |||
E |
这将生成1‘440个排列。
更多推荐
使用Lambda在Excel中生成所有排列
发布评论