将逗号分隔值替换为另一个单元格中的代码

时间:2016-06-01 08:28:16

标签: excel

对于每个数字(1到4),我正在分配一个代码。我从第一行(A1到C4)开始输入这些数据

Number   Code   
 50000     L        
 80000     M      
 40330     L        
 40000     H      

输入:现在,每个人每周都会用逗号分隔数字,我的数据就像这样

Person     Week1                                               Week2
Person1    50000,80000,40000 (Lets assume A10 is the cell)    40330,40000(A11 is the cell) 

我的预期输出:

Person     Week1     Week2
Person1    L,M,H     L,H

如何找到逗号分隔值并用代码替换?

2 个答案:

答案 0 :(得分:0)

Char(65)与“A”相同

查找功能会为您提供数字,直到“,”

左边的功能是在“,”

之前找到左边的数字

正确的功能是在“,”

之后找到正确的数字
=CHAR(LEFT(A10,FIND(",",A10)-1)+64) & "," & CHAR(RIGHT(A10,LEN(A10)-FIND(",",A10))+64)

这将找到“,”之后的数字位数,然后减去1,这样它将只是“,”之前的第一个数字

然后数字的长度 - 从文本右侧到“,”的数字位数将得到第二个数字

答案 1 :(得分:0)

好的......在我开始之前,这真的很难看:)

第一个字母的公式

=IFERROR(INDEX($B$1:$B$4,MATCH(INT(LEFT(C1,FIND(",",C1)-1)),$A$1:$A$4,0)),"") 

第二个字母的公式

& IFERROR("," & INDEX($B$1:$B$4,MATCH(INT(MID(C1,FIND(",",C1,6)+1,5)),$A$1:$A$4,0)),"")

然后你可以复制并粘贴第三个字母和第四个字母的第二个字母公式等等。

对于第三个数据,您必须更改数字" 6"之后" C1"用'#12;" 12" (增量为6)

根据需要重复此过程。

所以当你把它们组合在一起时

它看起来像这样

=IFERROR(INDEX($B$1:$B$4,MATCH(INT(LEFT(C1,FIND(",",C1)-1)),$A$1:$A$4,0)),"") & IFERROR("," & INDEX($B$1:$B$4,MATCH(INT(MID(C1,FIND(",",C1,6)+1,5)),$A$1:$A$4,0)),"")& IFERROR("," & INDEX($B$1:$B$4,MATCH(INT(MID(C1,FIND(",",C1,12)+1,5)),$A$1:$A$4,0)),"")

我提到的数字6是数字50000,(有6位数字)

如果在数字后面有空格(50000,则),则应将其增量编号为7

让我知道更多问题