将string中的数字更改为1

如果给我一个string(在Excel 2013中,我不想使用VBA):

0203534420

Excel可以replace/replace不包含“0”的单元格,并将它们变成“1”?

然后string将导致:

0101111110

那么从上面的代码中,Excel可以使用这段代码来确定从上面的列打印哪个头?

如果我有一个只有在对应列中的值不为零时才会打印的标题,则从左到右 在这里输入图像说明

使用这个数组公式:

=TEXTJOIN("",TRUE,IF(--MID(E4,ROW(INDIRECT("1:" & LEN(E4))),1) >0,CHAR(64+ROW(INDIRECT("1:" & LEN(E4)))),"")) 

作为一个数组公式,在退出编辑模式时,需要使用Ctrl-Shift-Enter而不是Enter来确认。 如果正确完成,则Excel将在公式周围放置{}

TEXTJOIN仅适用于订阅Office 365 Excel。

在这里输入图像说明


在2013年,你将需要分别parsing每个字符:

 =IF(--MID(E3,1,1)>0,"A","") & IF(--MID(E3,2,1)>0,"B","") & IF(--MID(E3,3,1)>0,"C","") & IF(--MID(E3,4,1)>0,"D","") & IF(--MID(E3,5,1)>0,"E","") & IF(--MID(E3,6,1)>0,"F","") & IF(--MID(E3,7,1)>0,"G","") & IF(--MID(E3,8,1)>0,"H","") & IF(--MID(E3,9,1)>0,"I","") & IF(--MID(E3,10,1)>0,"J","") 

在这里输入图像说明