咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

在机械和建筑等行业常用米和毫米做单位。在编制的Excel计算表中,如果输入的数值使用的单位和编制表格时使用的单位不一致,计算结果肯定是错误的。

那么,如何保证输入数值时不会把单位搞错?

下面先举一个简单的例子,用这个例子来做说明。我们要在表格中输入人的身高。按照常识,人的身高范围大约在0.3米至2.5米之间。现在我们要求在表格中输入的身高数值是以米为单位。身高的常用单位是厘米和米,如何避免误将身高以厘米为单位输入表格?一般可以采用以下几个方法

方法一,设置数据有效性

这是最常用的方法,这不是本文的重点,在此不详细讲。使用效果见下图:

方法二,使用公式

输入单元格和存放数据的单元格分开。我们在输入单元格输入数据,在存放数据的单元格使用公式:

如“张三”一行的身高公式为:=IF(C3<2.5,C3,C3/100)

根据输入单元格的数据来判断数值的单位,将其换算成我们要求的单位数字。使用效果见下图:

方法三,使用VBA自动纠正

当在单元格输入数据的时候,由程序根据数据的大小来判断其使用的单位,经换算后再输入到单元格中。下列vba代码可以将厘米自动换算成米(本例中身高数值在第7列):

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count = 1 And Target.Column = 7 Then

If Target.Value > 2.5 Then

Target.Value = Target.Value / 100

End If

End If

End Sub

还可以使用下列代码,可以将分米、厘米、毫米的数值换算成米(本例中身高数值仍在第7列):

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count = 1 And Target.Column = 7 Then

If Target.Value > 2.5 Then

Do While Target.Value > 2.5

Target.Value = Target.Value / 10

Loop

End If

End If

End Sub

使用效果见下图:

按照这个思路,你就是用公里做单位输进去都可以编个程序给你纠正过来[呲牙]。

以上即为避免输入错误数值的三个方法。

第一个方法只是起到限制输入和提醒的作用,没有容错功能,如果错了要重新输入。

第二、第三种方法可以输入不符合要求的数值,条件是要能判断出输入的错误数值和正确数值的对应关系,由软件自动换算过来。

第二种方法需要将输入单元格和存放数值的单元格分开,有时候表格显得不太美观。第三种方法不影响原表格的结构,但需要启用宏。

在计算表格加入容错设计,可有效避免输入错误,增强用户体验感。

下面看两个实例:

实例一:

这是一个矩形烟道强度的计算小程序,需要输入烟道截面的长和宽。

这个小程序使用了上述第二种方法。程序中截面尺寸以米为单位,存放在两个单元格D5和H5中。输入单元格为G1和 I1。

烟道的截面尺寸最小,在0.5米左右,最大一般可达十几米。如果在输入单元格中输入的数值超过100,我们可以确定这个数字是以毫米为单位(本行业常用单位是米和毫米),数据单元格中的公式就会将其输入单元格中的数值转换成以米为单位。

实例二:

这是一个计算储仓的小程序,需要输入容器的直径、筒体高度、灰斗高度、裙座高度,以毫米为单位。

这个小程序使用了上述第三种方法。当输入数值<100时,可判断其单位是米,由VBA程序将其转换为毫米。