我有一个包含2000多个条目的Excel电子表格:
Field B1: CustomerID as 000012345
Field B2: CustomerID as 0000432
Field C1: CustomerCountry as DE
Field C2: CustomerCountry as IT
我需要构建长度为13位的代码,包括“CustomerCountry”+“CustomerID”,不带前导0 +随机数(可以是6位数,或多或少,取决于{{1}的长度})。
结果应如下所示:D1代码为CustomerID
或D2代码为DE12345967895
如何使用Excel功能?
更新:
我试过这个。我的大问题是,随机数应该足够长,总共可以得到13个字符。有时IT43274837401
只有3或4位数字,并且三个变量的串联可以只有10或9个字符。但代码必须总是13个字符。
答案 0 :(得分:5)
使用&
连接字符串。
使用VALUE(CustomerID)
修剪ID
使用RAND()
添加0到1之间的随机数或RANDBETWEEN(x,y)
以在x和y之间创建一个。
结合以上和你在那里!
如果您总是想要13个数字,则可以使用LEFT(INT(RAND()*10^13);(13-LEN(CustomerCountry)-LEN(VALUE(CustomerID))))
作为随机数,始终是正确的长度。
总公式
= CustomerCountry
& VALUE(CustomerID)
& LEFT(INT(RAND()*10^13);(13-LEN(CustomerCountry)-LEN(VALUE(CustomerID))))
答案 1 :(得分:2)
=C1 & TEXT(B1,"0") & RIGHT(TEXT(RANDBETWEEN(0,99999999999),"00000000000"),11 - LEN(TEXT(B1,"0")))
应该这样做
答案 2 :(得分:0)
我不明白究竟是什么,OP接受了答案,所以没有考虑过测试:
=LEFT(RIGHT(C1,2)&VALUE(MID(B1,15,13))&RANDBETWEEN(10^9,10^10),13)
(但如果没有其他人首先选择其中的缺陷,我可能会回复这个!)