Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 随机预编选定字符,将四个和五个长代码填充到十个长度_Excel_Vba_Char - Fatal编程技术网

Excel 随机预编选定字符,将四个和五个长代码填充到十个长度

Excel 随机预编选定字符,将四个和五个长代码填充到十个长度,excel,vba,char,Excel,Vba,Char,我有一些价格代码,例如BBAXV和GGZT。我想通过在字母前加上除:F,B,A,G,O,J,L,C,E以外的任意字母,将这些字符的长度分别延长到10个字符。例如: BBAXV to ZKXMIBBAXV GGZT to VWWPDRGGTZ 我尝试使用Len和CHAR(randbween(65,90) 有没有办法从选定的字母中生成一个随机字符串,然后将其与当前价格代码相结合?使用,从未分配字母列表中为每个额外字母提供起始位置 =mid("DHIKMNPQRSTUVWXYZ", randbetw

我有一些价格代码,例如
BBAXV
GGZT
。我想通过在字母前加上除:F,B,A,G,O,J,L,C,E以外的任意字母,将这些字符的长度分别延长到10个字符。例如:

BBAXV to ZKXMIBBAXV
GGZT to VWWPDRGGTZ
我尝试使用
Len
CHAR(randbween(65,90)

有没有办法从选定的字母中生成一个随机字符串,然后将其与当前价格代码相结合?

使用,从未分配字母列表中为每个额外字母提供起始位置

=mid("DHIKMNPQRSTUVWXYZ", randbetween(1, 17), 1)
但是,您必须知道以多少个字符开头,或者简单地提供太多字符并截断多余的字符

=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)


这看起来可能很复杂,但事实上,它所做的工作要比使用间接法时收到的其他数组公式少得多。是的,您可以按原样使用该公式,以便换行符有助于可读性。

根据您的想法,请尝试:

=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

对不起,我想是的,除了F,B,A,G,O,J,L,C,E以外的所有字母。但是如果不是的话也可以。范围限制在80:95。公式可能很简单?