随机添加选定的字符填充四个和五个长码到十个长度

我有一些价格代码,例如BBAXVGGZT 。 我想通过预先将字母F,B,A,G,O,J,L,C,E以外的字母随机地加长到10个字符。 例如:

 BBAXV to ZKXMIBBAXV GGZT to VWWPDRGGTZ 

我试着用LenCHAR(RANDBETWEEN(65,90)

有什么办法从select的字母中生成随机string,然后将其与当前的价格代码结合起来?

使用RANDBETWEEN的MID函数为未分配字母列表中的每个附加字母提供起始位置。

 =mid("DHIKMNPQRSTUVWXYZ", randbetween(1, 17), 1) 

然而,你将不得不知道有多less个字符开始,或者只是提供太多的字符而截断多余的字符。

 =RIGHT(MID("DHIKMNPQRSTUVWXYZ", RANDBETWEEN(1, 17), 1)& MID("DHIKMNPQRSTUVWXYZ", RANDBETWEEN(1, 17), 1)& MID("DHIKMNPQRSTUVWXYZ", RANDBETWEEN(1, 17), 1)& MID("DHIKMNPQRSTUVWXYZ", RANDBETWEEN(1, 17), 1)& MID("DHIKMNPQRSTUVWXYZ", RANDBETWEEN(1, 17), 1)& MID("DHIKMNPQRSTUVWXYZ", RANDBETWEEN(1, 17), 1)& MID("DHIKMNPQRSTUVWXYZ", RANDBETWEEN(1, 17), 1)& MID("DHIKMNPQRSTUVWXYZ", RANDBETWEEN(1, 17), 1)& MID("DHIKMNPQRSTUVWXYZ", RANDBETWEEN(1, 17), 1)& MID("DHIKMNPQRSTUVWXYZ", RANDBETWEEN(1, 17), 1)& A1&"", 10) 

十个随机字母

这可能看起来很复杂,但事实上,它比您使用INDIRECT收到的其他数组公式的工作量less得多。 是的,您可以完全按照原样使用该公式,以便换行可以提高可读性。

作为您的想法,请尝试:

 =CHAR(RANDBETWEEN(80,90))&CHAR(RANDBETWEEN(80,90))&CHAR(RANDBETWEEN(80,90))&CHAR(RANDBETWEEN(80,90))&CHAR(RANDBETWEEN(80,90))&IF(LEN(A1)=4,CHAR(RANDBETWEEN(80,90)),"")&A1