如何从三个variablesbuild立复杂的价值?
我有一个超过2000个条目的Excel电子表格:
Field B1: CustomerID as 000012345 Field B2: CustomerID as 0000432 Field C1: CustomerCountry as DE Field C2: CustomerCountry as IT
我需要build立13位长的代码,包括“CustomerCountry”+“CustomerID”,而不需要前导0 +随机数 (可以是6位数,或多或less,取决于CustomerID
长度)。
结果应该是这样的:D1代码为DE12345967895
或D2代码为IT43274837401
如何用Excel函数做到这一点?
更新:我试过这个。 我的大问题是说随机数应该足够长,总共可以得到13个字符。 有时CustomerID
只有3或4位数字,三个variables的连接可能只有10或9个字符。 但是代码必须总是13个字符。
使用&
连接string。
使用VALUE(CustomerID)
从ID修剪前导零
使用RAND()
添加一个介于0和1之间的随机数,或使用RANDBETWEEN(x,y)
在x和y之间创build一个。
结合上述和你在那里!
如果您总是需要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))))
=C1 & TEXT(B1,"0") & RIGHT(TEXT(RANDBETWEEN(0,99999999999),"00000000000"),11 - LEN(TEXT(B1,"0")))
应该这样做
我不明白什么地方和OP已经接受了答案,所以没有打扰testing:
=LEFT(RIGHT(C1,2)&VALUE(MID(B1,15,13))&RANDBETWEEN(10^9,10^10),13)
(但如果没有其他人首先挑出它的缺陷,我可能会回到这个问题!)