使用excel在五列中查找所有可能的组合

使用excel在五列中查找所有可能的组合,excel,excel-formula,Excel,Excel Formula,使用Excel,我想找到5个字母的所有可能组合: 比如,在A-E列中,我有字母:A或A;b或b;c或c;d或d;e或e 在F列中,我想显示每个组合。例如: Combinations a b c d e abcde A B C D E Abcde aBcde abCde 我的现成解决方

使用Excel,我想找到5个字母的所有可能组合:

比如,在A-E列中,我有字母:A或A;b或b;c或c;d或d;e或e

在F列中,我想显示每个组合。例如:

                       Combinations
a   b   c   d   e         abcde
A   B   C   D   E         Abcde
                          aBcde
                          abCde

我的现成解决方案是将一个整数从0增加到32。看看整数二进制的前5位。如果第一位为0,则将第一行用作第一个字母。如果为1,则为第二行。其余的字母也一样。这些元素的串联将提供您的组合。

选择范围
F1:F32

将以下公式粘贴到公式栏中:

=CHAR(CODE("a")-32*MID(DEC2BIN(ROWS($1:1)-1,5),1,1)) &
 CHAR(CODE("b")-32*MID(DEC2BIN(ROWS($1:1)-1,5),2,1)) &
 CHAR(CODE("c")-32*MID(DEC2BIN(ROWS($1:1)-1,5),3,1)) &
 CHAR(CODE("d")-32*MID(DEC2BIN(ROWS($1:1)-1,5),4,1)) &
 CHAR(CODE("e")-32*MID(DEC2BIN(ROWS($1:1)-1,5),5,1))
这不是数组公式,但由于选择了多个单元格,请使用Ctrl+Enter确认公式


以你的例子来说,有3628800种可能的组合。(如果只使用小写或大写,则为120)。这样做还有其他原因吗?这将是一个繁重的过程,您需要VBA来完成。@BruceWayne我不是在寻找置换-顺序应该是相同的。这不是意味着有2^5=32个组合吗?哦,好吧-我还以为你指的是任何订单,对不起!所以对于所有的十个字母,它应该是2^10=1024,因为你可以有ABCDE,ABCDE,ABCDE,ABCDE,等等…@BruceWayne但在我的例子中有32个组合,因为F列中每行只能有5个字母-对吗?你知道如何轻松计算吗?请注意,每列只能使用一个字母,因此F列中的同一行中不能有A和A