使用Lambda在Excel中生成所有排列

编程入门 行业动态 更新时间:2024-10-15 20:22:31
本文介绍了使用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级怎么办?

L1 L2 L3 L4 L5 L6
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中生成所有排列

本文发布于:2023-11-30 00:20:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1648092.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:排列   Lambda   Excel

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!