2014-09-04 119 views
1

所有,Excel中 - 从细胞

我已经制定了像这样值的工作簿中提取数值:

| A |  B | C | 
1| VAR - 2| VAR - 18 | VAR - 7 | 

我试图从A1的值:C1和他们在总起来D1。所以D1应该是27.任何人都知道如何做到这一点?我开始于:

=SUMPRODUCT(- -ISNUMBER(MID(A1,ROW($A$1:$A$200),1)+0)) 

但是,这似乎只是计算的位数,而不是总值。有任何想法吗?

大流士

回答

1

D1输入

=SUMPRODUCT(IF(ISNUMBER(--MID(A1:C1,--FIND("-",A1:C1,1)+1,255)),--MID(A1:C1,--FIND("-",A1:C1,1)+1,255),0))

然后单击内部D1任何地方,打击Ctrl + Shift + Enter

255这里是字符数在细胞

+0

这正是我需要它做的! – Darius 2014-09-04 15:57:03

+0

数组公式中的SUMPRODUCT有点同义。在数组公式中,SUM总是可以代替SUMPRODUCT。 – 2014-09-04 17:24:01

1

我认为这应该工作

{=SUM(VALUE(TRIM(RIGHT(A1:C1,2))))} 

注意,它是一个数组公式,所以一定要打到细胞内,当CTRL移进。

如果您的号码可能会超过2个位数,那么这可能是更合适的(普通)

{=SUM(VALUE(TRIM(RIGHT(A1:C1,LEN(A1:C1)-6))))} 
+0

这是假定所有数字1个或2位数。 – 2014-09-04 15:30:12

+2

为什么不使用替换并删除“VAR - ”这将只留下数字... – Sorceri 2014-09-04 15:33:38

+0

这也应该工作。 – 2014-09-04 15:34:22

1

这是你的公式-后... 使用Ctrl + Shift + Enter来计算!

它可以使用任何字符和数字的组合。这将提取的数量和人物的处置

=(1*MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0),COUNT(1*MID(A1,ROW($1:$9),1))))+(1*MID(B1,MATCH(TRUE,ISNUMBER(1*MID(B1,ROW($1:$9),1)),0),COUNT(1*MID(B1,ROW($1:$9),1))))+(1*MID(C1,MATCH(TRUE,ISNUMBER(1*MID(C1,ROW($1:$9),1)),0),COUNT(1*MID(C1,ROW($1:$9),1))))

+0

有什么办法可以做到这一点吗?像A1:C1? – Darius 2014-09-04 15:45:28

+0

你想总结一下吗?要进行求和,你的数字必须分成几部分,所以这些部分可以加在一起... – Andrew 2014-09-04 15:48:07

+0

我这样做,但我并不是完全想要为每一列复制它(例如,如果它一直扩展到Q1)。是否绝对没有其他办法? – Darius 2014-09-04 15:51:20

0

,或者你可以得到MORFUNC插件*和简单地做:

{=SUM(VALUE(REGEX.MID(A1:C1,"[0-9]")))}



MOREFUNC阿东