EXCEL_如何将文本转换为数字

我正在制作高质量的报告,并将数据导入到工作表中。 但数字全部保留为文本,在一列中分隔的单元格中。

| Average colour | red | red | weight | 1.6 | 1.56 | 1.58 length | 1.1 | 1.12 | 1.11 type | A | A | A colour | green | green | weight | 1.4 | 1.5 | 1.45 length | 10 | 9.6 | 9.8 type | B | B 

我想要将他们的平均值排成一行。 你可以把colourtype放在一边,我用IF函数来判断这个testing是否是这两个,然后我会用结果去做其他的事情,如果testing不是(这意味着结果应该是一个数字) ,我想计算平均值。

但是由于这个问题,我会遇到DIV/0错误。 对不起,我没有find任何公式或VBA的代码来完成这项任务,所以如果你有一些想法,请留下评论,谢谢。

假设你的数组A1:A10有文本和数字混合存储为文本。 您可以取如下数值的平均值:

 =AVERAGE(IFERROR(VALUE(A1:A10),"")) 

这是一个数组公式,所以需要使用Ctrl + Shift + Enterinput。

重要提示:这将把空白单元视为零! 如果你想忽略空白,你可以添加处理。

 =AVERAGE(IFERROR(IF(ISBLANK(A1:A10),"",VALUE(A1:A10)),"")) 

编辑:在你的例子,它看起来像你可能想平均特定的行。 在这种情况下,请查看AVERAGEIFfunction。

我也不知道你的数据是在一列还是两列。 如果它在一个,你首先需要使用文本到列“|” 作为你的分隔符分成两个。

跟随亚历克西斯奥尔森评论你如何平均你的数字。 如果这只是样本数据,而您的真实数据是文本和数字的组合,请坚持Alexis Olson的回答。

但是,如果你想平均权重的平均值,从单位的angular度来看,长度并不是真的有意义的,你可以试试:

 =SUMPRODUCT(($B$4:$B$11=E$4)*IFERROR(VALUE($C$4:$C$11),0))/COUNTIF($B$4:$B$11,E$4) 

要么

 =SUM(($B$4:$B$11=E$4)*IFERROR(VALUE($C$4:$C$11),0))/COUNTIF($B$4:$B$11,E$4) 

AVERAGEIF不太有效,因为第三个参数是要求一个范围的平均值,我们错过了将您的文本数字转换为实际数字的机会。

上述两个公式都是CSE或ARRAY公式,这意味着在完成公式input时需要使用CONTROL + SHIFT + ENTER 。 完成之后,公式栏中的括号将出现在您的公式的周围。 请注意,无法为整个公式手动添加{}。

概念validation

POC


UPDATE#

更改示例数据后

 =AVERAGE(VALUE(C9:D9)) 

这是一个单元格数组公式。 将其放置在您想要的平均值的第一个单元格中,并确保在input公式时使用CONTROL + SHIFT + ENTER ,并在input公式后查找公式的{}。然后,可以将公式向下拖动或复制到个别细胞,你想要它

概念certificateII

POC II

我正在寻找方法将其改为数字,然后进行计算

为了避免数组公式的缺点,使用@Alexis Olson或@Forward Ed的非数组forms解决scheme要简单得多,但是select包含绿色三angular形的范围并点击顶部的“转换为数字”后离开绿色三angular形。

如果未显示绿色三angular形,请打开错误检查(选项>公式)或在备用单元格中插入0 ,复制该单元格,select适合的范围并select性粘贴,添加。