EXCEL\u如何将文本转换为数字
我正在编写一份质量报告,并已将数据导入到工作表中。但数字都保留为文本,在一列中的单独单元格中EXCEL\u如何将文本转换为数字,excel,excel-formula,worksheet-function,vba,Excel,Excel Formula,Worksheet Function,Vba,我正在编写一份质量报告,并已将数据导入到工作表中。但数字都保留为文本,在一列中的单独单元格中 | 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 |
| 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
我想计算一下他们一行的平均值。你可以把color
和type
放在一边,我用IF
函数来判断测试是否是这两个,然后我会用结果做其他事情,如果测试不是(这意味着结果应该是一个数字),我想计算平均值
但是由于这个问题,我将遇到
DIV/0
错误。很抱歉,我没有在VBA中找到任何公式或代码来完成此任务,因此如果您有什么想法,请留下评论,谢谢。假设您的数组A1:A10混合了文本和数字存储为文本。可以按如下方式取数值的平均值:
=AVERAGE(IFERROR(VALUE(A1:A10),""))
这是一个数组公式,因此需要使用Ctrl+Shift+Enter输入
重要提示:这将把空白单元格视为零!如果您想忽略空白,可以为此添加处理
=AVERAGE(IFERROR(IF(ISBLANK(A1:A10),"",VALUE(A1:A10)),""))
编辑:在您的示例中,您可能希望对特定行求平均值。在这种情况下,查看AVERAGEIF
函数
我也不知道你的数据是在一列还是两列。如果在一个数组中,则首先需要使用文本到列,并以“|”作为分隔符将其拆分为两个。假设数组A1:A10混合了文本和以文本形式存储的数字。可以按如下方式取数值的平均值:
=AVERAGE(IFERROR(VALUE(A1:A10),""))
这是一个数组公式,因此需要使用Ctrl+Shift+Enter输入
重要提示:这将把空白单元格视为零!如果您想忽略空白,可以为此添加处理
=AVERAGE(IFERROR(IF(ISBLANK(A1:A10),"",VALUE(A1:A10)),""))
编辑:在您的示例中,您可能希望对特定行求平均值。在这种情况下,查看AVERAGEIF
函数
我也不知道你的数据是在一列还是两列。如果是一个,您首先需要使用文本到列,并以“|”作为分隔符,将其拆分为两个。跟进Alexis Olson关于如何计算数字平均值的评论。如果这只是样本数据,而您的真实数据是文本和数字的组合,请坚持亚历克西斯·奥尔森的答案 但是,如果您确实希望仅平均重量,因为平均重量和长度从单位角度看没有意义,您可能希望尝试:
=SUMPRODUCT(($B$4:$B$11=E$4)*IFERROR(VALUE($C$4:$C$11),0))/COUNTIF($B$4:$B$11,E$4)
或
AVERAGEIF不太有效,因为第三个参数要求的是平均值的范围,我们错过了将文本数字转换为实际数字的机会
以上两个公式都是CSE或数组公式,这意味着您需要在完成公式输入时使用CONTROL+SHIFT+ENTER。完成后,右{}括号将出现在公式栏中的公式周围。请注意,不能为整个公式手动添加{}
概念证明
更新# 示例数据更改后
=AVERAGE(VALUE(C9:D9))
这是一个单单元格数组公式。将其放置在需要平均值的第一个单元格中,确保在输入公式时使用CONTROL+SHIFT+ENTER,并在输入公式后查找公式周围的{},然后可以向下拖动公式或将其复制到所需的各个单元格中
概念二的证明
跟进亚历克西斯·奥尔森关于你如何平均你的数字的评论。如果这只是样本数据,而您的真实数据是文本和数字的组合,请坚持亚历克西斯·奥尔森的答案 但是,如果您确实希望仅平均重量,因为平均重量和长度从单位角度看没有意义,您可能希望尝试:
=SUMPRODUCT(($B$4:$B$11=E$4)*IFERROR(VALUE($C$4:$C$11),0))/COUNTIF($B$4:$B$11,E$4)
或
AVERAGEIF不太有效,因为第三个参数要求的是平均值的范围,我们错过了将文本数字转换为实际数字的机会
以上两个公式都是CSE或数组公式,这意味着您需要在完成公式输入时使用CONTROL+SHIFT+ENTER。完成后,右{}括号将出现在公式栏中的公式周围。请注意,不能为整个公式手动添加{}
概念证明
更新# 示例数据更改后
=AVERAGE(VALUE(C9:D9))
这是一个单单元格数组公式。将其放置在需要平均值的第一个单元格中,确保在输入公式时使用CONTROL+SHIFT+ENTER,并在输入公式后查找公式周围的{},然后可以向下拖动公式或将其复制到所需的各个单元格中
概念二的证明
我正在寻找将它们转换成数字,然后进行计算的方法
为了避免数组公式的缺点,以非数组形式使用@Alexis Olson或@Forward Ed的解决方案要简单得多,但是在选择包含绿色三角形的范围并单击左上角绿色三角形中的“Convert To number”(转换为数字)之后
如果未显示绿色三角形,请启用错误检查(选项>公式)或在备用单元格中插入0
,复制该单元格,选择要适合的范围并粘贴特殊,然后添加
我正在寻找将它们转换成数字,然后进行计算的方法
为了避免数组公式的缺点,以非数组形式使用@Alexis Olson或@Forward Ed的解决方案要简单得多,但是在选择包含绿色三角形的范围并单击左上角绿色三角形中的“Convert To number”(转换为数字)之后
如果未显示绿色三角形,请启用错误检查(选项>公式)或在备用单元格中插入
0
,复制该单元格,选择要适应的范围并粘贴特殊值,添加。是否尝试将excel工作表中单元格的格式从文本更改为数字?您可以使用CInt
转换存储为字符串的数字,但如果存在字符串,则还需要一些错误