如何从三个变量中构建复杂的价值?

r.r*_*r.r 2 excel function excel-2013

我有一个包含超过2000个条目的Excel电子表格:

Field B1: CustomerID as 000012345
Field B2: CustomerID as 0000432

Field C1: CustomerCountry as DE
Field C2: CustomerCountry as IT
Run Code Online (Sandbox Code Playgroud)

我需要构建13位数字长的代码,包括“ CustomerCountry” +“ CustomerID”,且不带前导0 +随机数(可以是6位数字,或多或少取决于长度CustomerID)。

结果应如下所示:D1 Code as DE12345967895或D2 Code asIT43274837401

如何使用Excel函数?

更新: 我尝试了这个。我的大问题是说随机数应该足够长,才能总共获得13个字符。有时CustomerID只有3或4位数字,并且三个变量的串联只能是10或9个字符。但是代码必须始终为13个字符长。

在此处输入图片说明

K_B*_*K_B 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))))
Run Code Online (Sandbox Code Playgroud)