EXCEL:单元格中以逗号分隔的单个数字相乘
EXCEL: Multiplying comma separated single-digit numbers in a cell
我在用逗号分隔的单元格中有一串 8 个单位数字。我需要按照这个特定的顺序将每个数字乘以 1、2、3、4、5、6、7、8。
如果我有 A2= a,b,c,d,e,f,g,h
我需要结果 B2= (a*1),(b*2),(c*3),(d*4),(e*5),(f*6),(g*7),(h*8)
例如A2=1,2,3,4,5,6,7,8
=> B2=1,4,9,16,25,36,49,64
这个公式我已经算出来了-
=LEFT(MID(A2,1,1)*1&","&MID(A2,3,1)*2&","&MID(A2,5,1)*3&","&MID(A2,7,1)*4&","&MID(A2,9,1)*5&","&MID(A2,11,1)*6&","&MID(A2,13,1)*7&","&MID(A2,15,1)*8,LEN(A2))
它确实适用于前几个数字,但我认为这在处理所有数字时遇到问题。如果我输入 0,0,0,0,0,0,0,1
效果很好
但是如果我输入 0,0,0,0,0,2,2,2
,我会得到 0,0,0,0,0,12,14
(只有 7 个结果)
并与 1,2,3,4,5,6,7,8
。只有 6 个结果。
我最近才开始学习 excel,非常感谢任何帮助。
在 Office 365 中,我们使用 FILTERXML 和 SUBSTITUTE 创建数字数组。然后,在使用 SEQUENCE 创建 1,2,3,...
数组并相乘后,我们使用 TEXTJOIN 将它们重新组合成一个字符串。使用 LET 因此我们不需要重复长 FILTERXML:
=LET(num,FILTERXML("<t><s>"&SUBSTITUTE(A2,",","</s><s>")&"</s></t>","//s"),TEXTJOIN(",",,num*SEQUENCE(COUNT(num))))
这个版本不关心字符串中有多少个数字。
你之所以这样做,是因为 LEFT(...,LEN(A2))
。它只返回与原始字符数相同的字符数。删除那部分,不需要:
=MID(A2,1,1)*1&"," &MID(A2,3,1)*2&","&MID(A2,5,1)*3&","&MID(A2,7,1)*4&","&MID(A2,9,1)*5&","&MID(A2,11,1)*6&","&MID(A2,13,1)*7&","&MID(A2,15,1)*8
我在用逗号分隔的单元格中有一串 8 个单位数字。我需要按照这个特定的顺序将每个数字乘以 1、2、3、4、5、6、7、8。
如果我有 A2= a,b,c,d,e,f,g,h
我需要结果 B2= (a*1),(b*2),(c*3),(d*4),(e*5),(f*6),(g*7),(h*8)
例如A2=1,2,3,4,5,6,7,8
=> B2=1,4,9,16,25,36,49,64
这个公式我已经算出来了-
=LEFT(MID(A2,1,1)*1&","&MID(A2,3,1)*2&","&MID(A2,5,1)*3&","&MID(A2,7,1)*4&","&MID(A2,9,1)*5&","&MID(A2,11,1)*6&","&MID(A2,13,1)*7&","&MID(A2,15,1)*8,LEN(A2))
它确实适用于前几个数字,但我认为这在处理所有数字时遇到问题。如果我输入 0,0,0,0,0,0,0,1
但是如果我输入 0,0,0,0,0,2,2,2
,我会得到 0,0,0,0,0,12,14
(只有 7 个结果)
并与 1,2,3,4,5,6,7,8
。只有 6 个结果。
我最近才开始学习 excel,非常感谢任何帮助。
在 Office 365 中,我们使用 FILTERXML 和 SUBSTITUTE 创建数字数组。然后,在使用 SEQUENCE 创建 1,2,3,...
数组并相乘后,我们使用 TEXTJOIN 将它们重新组合成一个字符串。使用 LET 因此我们不需要重复长 FILTERXML:
=LET(num,FILTERXML("<t><s>"&SUBSTITUTE(A2,",","</s><s>")&"</s></t>","//s"),TEXTJOIN(",",,num*SEQUENCE(COUNT(num))))
这个版本不关心字符串中有多少个数字。
你之所以这样做,是因为 LEFT(...,LEN(A2))
。它只返回与原始字符数相同的字符数。删除那部分,不需要:
=MID(A2,1,1)*1&"," &MID(A2,3,1)*2&","&MID(A2,5,1)*3&","&MID(A2,7,1)*4&","&MID(A2,9,1)*5&","&MID(A2,11,1)*6&","&MID(A2,13,1)*7&","&MID(A2,15,1)*8