Excel:分隔逗号分隔的单个单元格号码
在单个Excel单元格中有一串数字,用逗号分隔,例如A2 = "4,3,2,7"
。 我想要一个公式可以在B2
单元格中将这些数字除以2,例如B2 = "2,1,1,3"
(奇数应该B2 = "2,1,1,3"
而不是向上)
该公式需要能够说明:
– 更小或更大的数字串
– 用于单数和双数数字
– 偶数或奇数
– 没有VBA
– 公式可以使用多个列,但不能使用分隔的文本列function(由于单元格的位置)
我可以得到一个公式,以A2
(4,3,2,7 = 16)
的数字string进行求和,但不能将其除以2。 任何帮助表示赞赏,谢谢!
{=SUM(IF(ISERR(VALUE(MID(A2,ROW($A$1:OFFSET($A$1,LEN(A2)-1,0)),1))),0,VALUE(MID(A2,ROW($A$1:OFFSET($A$1,LEN(A2)-1,0)),1))))}
那么,这是我第二次尝试解决(我希望)你的问题。 如果您的string在单元格A2
,则将此代码放在单元格B2
:
=LEFT(IFERROR(ROUNDDOWN(MID(A2,1,1)/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,3,1)/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,5,1)/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,7,1)/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,9,1)/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,11,1)/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,13,1)/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,15,1)/2,0),""),LEN(A2))
它可以使用多达8个数字string,以及奇数。
更新
这个公式可以处理两位数的数字,但是它只支持1到4个string(例如(25,5,36,48)):
=LEFT(IFERROR(ROUNDDOWN(MID(A2,1,IFERROR(SEARCH(",",A2,1)-1,LEN(A2)))/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,SEARCH(",",A2,1)+1,IFERROR(SEARCH(",",A2,SEARCH(",",A2,1)+1)-SEARCH(",",A2,1)-1,LEN(A2)-SEARCH(",",A2,1)))/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,SEARCH(",",A2,SEARCH(",",A2,1)+1)+1,IFERROR(SEARCH(",",A2,SEARCH(",",A2,SEARCH(",",A2,1)+1)+1)-SEARCH(",",A2,SEARCH(",",A2,1)+1)-1,LEN(A2)-SEARCH(",",A2,SEARCH(",",A2,1))))/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,SEARCH(",",A2,SEARCH(",",A2,SEARCH(",",A2,1)+1)+1)+1,IFERROR(SEARCH(",",A2,SEARCH(",",A2,SEARCH(",",A2,SEARCH(",",A2,1)+1)+1)+1)-SEARCH(",",A2,SEARCH(",",A2,SEARCH(",",A2,1)+1)+1)-1,LEN(A2)-SEARCH(",",A2,SEARCH(",",A2,SEARCH(",",A2,1)+1)+1)))/2,0),""),LEN(A2))
在你的例子中,使用这个公式进入单元格B1
:
=SUBSTITUTE(SUBSTITUTE(A1,",","000")/2,"000",",")
那么结果会是这样的:
| A | B | +---------+---------+ 1| 4,2,6,8 | 2,1,3,4 | 2|