沙龙有一个工作表,她可以用来记录距离。有人输入数据到工作表中,有人输入以英里为单位的距离(例如15 m),其他人以公里为单位输入距离(例如28 Km)。

沙龙想知道是否存在一个公式,可以将放置在单元中的所有内容转换为千米,以便所有答案都相同?

您可以使用一些公式进行转换,但是在获取公式之前,最好考虑一下如何将工作表放在一起。从数据管理的角度来看,让人们在与值输入相同的单元格中指定单位不是一个好主意。问题是您将永远无法捕获所有可能的用户错误和错别字。例如,某人可能以下列之一输入15英里:15英里,15英里,15英里,15mi,15英里,15 mi,15 ms,15ms等。km输入也会发生相同的问题。

一个好主意是从单位名称中分离出价值。例如,您可以允许某人在单元格B4中输入一个值,然后在单元格C4中,他们可以输入一个指示符,以指示该值代表英里还是公里。您可以在单元格上使用数据验证来限制其输入的可接受选择。结果是一种更加“防弹”的数据输入方法。

话虽如此,让我们研究一下进行数据转换的一些想法。 Excel提供了一个很酷的CONVERT函数,奇怪的是,您可以执行从一个测量系统到另一个测量系统的数据转换。从英里换算为公里的公式如下:

=CONVERT(B4,"mi","km")

如果您想知道可以使用CONVERT功能指定的所有度量单位,则Excel的在线帮助系统应能胜任该任务。

如果使用单元格C4指定度量单位(“ mi”或“ km”),则可以使用以下公式始终确保单元格B4中输入的任何内容均以公里表示:

IF(C4="mi",CONVERT(B4,"mi","km"),B4)

如果您无法将度量单位拆分为其他单元格,则可以尝试对输入的内容进行一些数据转换。要记住的重要一点是,由于输入的任何内容都包含非数​​字字符,因此Excel将其视为文本值。

让我们假设某人在单元格B4中输入了没有引号的值“ 5 mi”。您需要使用公式来去除非数字字符

=IF(RIGHT(SUBSTITUTE(B4," ",""),2)="mi",CONVERT(VALUE( LEFT(B4,LEN(B4)-2)),"mi","km"),VALUE(LEFT(B4,LEN(B4)-2)))

该公式将查看单元格B4中的值,并特别检查除去单元格中的任何空格后最右边的两个字符。如果这两个字符是“ mi”(当然,不带引号),则使用CONVERT函数对单元格的数字部分进行转换。如果最右边的两个字符不是“ mi”,则公式将简单返回单元格的数字部分,而无需进行任何更改。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(3593)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: