有没有一种方法可以在Excel中生成TeamViewer密码?

时间:2019-07-10 18:35:26

标签: excel passwords generate teamviewer

我试图让Excel生成一个6个字符的密码字符串,与TeamViewer完全一样(3个字母,3个数字)。有我可能不知道的功能吗?

我尝试了=CHOOSE(RANDBETWEEN(1,2),CHAR(RANDBETWEEN(0,9)),CHAR(RANDBETWEEN(97,122)))&CHOOSE(RANDBETWEEN(1,2),CHAR(RANDBETWEEN(0,9)),CHAR(RANDBETWEEN(97,122)))&CHOOSE(RANDBETWEEN(1,2),CHAR(RANDBETWEEN(0,9)),CHAR(RANDBETWEEN(97,122)))&CHOOSE(RANDBETWEEN(1,2),CHAR(RANDBETWEEN(0,9)),CHAR(RANDBETWEEN(97,122)))&CHOOSE(RANDBETWEEN(1,2),CHAR(RANDBETWEEN(0,9)),CHAR(RANDBETWEEN(97,122)))&CHOOSE(RANDBETWEEN(1,2),CHAR(RANDBETWEEN(0,9)),CHAR(RANDBETWEEN(97,122))),下面是其中一个结果的示例:ckjfs

请参见上方的公式。

预期结果类似于:aaa1111aaa11。我不希望公式允许使用11aaaaaaaaaa1234aa之类的东西。

2 个答案:

答案 0 :(得分:1)

这里是您考虑的选项:

enter image description here

A2中的公式:

=RANDBETWEEN(1,6)

B2中的公式:

=CHAR(RANDBETWEEN(IF(OR(RANK.EQ(A2,$A$2:$A$7)+COUNTIF($A$2:A2,A2)-1={1,2,3}),48,97),IF(OR(RANK.EQ(A2,$A$2:$A$7)+COUNTIF($A$2:A2,A2)-1={1,2,3}),57,122)))

向下拖动.....

D2中的公式:

带有CONCAT的Excel 2016:

=CONCAT(C2:C7)

没有CONCAT的较低版本:

=C2&C3&C4&C5&C6&C7

答案 1 :(得分:1)

我可以提供这个相当长的数组公式:

=ArrayFormula(TEXTJOIN("",TRUE,IF(MID(TEXT(DEC2BIN(INDEX({7,11,13,14,19,21,22,25,26,28,35,37,38,41,42,44,49,50,52,56},RANDBETWEEN(1,20))),"000000"),{1,2,3,4,5,6},1)="0",
CHAR(CHOOSE({1,2,3,4,5,6},RANDBETWEEN(48,57),RANDBETWEEN(48,57),RANDBETWEEN(48,57),RANDBETWEEN(48,57),RANDBETWEEN(48,57),RANDBETWEEN(48,57))),
CHAR(CHOOSE({1,2,3,4,5,6},RANDBETWEEN(97,122),RANDBETWEEN(97,122),RANDBETWEEN(97,122),RANDBETWEEN(97,122),RANDBETWEEN(97,122),RANDBETWEEN(97,122))))))

我必须在Google表格中对其进行测试,因为我只有一个旧版本的Excel,没有数组串联功能-如果您删除ArrayFormula包装器并使用Ctrl-Shift-Enter输入它,则它应该在更高版本的Excel中工作。

这个想法是,只有20种方法可以从6种(字母和数字)中选择3种(字母),因此选择二进制(例如010101)中的一种,并生成带有1的字母和带有数字的字母0。

enter image description here

编辑

确认通过Excel 2019工作,通过 Ctrl Shift Enter 确认:

enter image description here