Excel单元格转换教程 – 转换单位、文字和数字、货币、时区等

Excel单元格转换教程 – 转换单位、文字和数字、货币、时区等

在Excel中处理数据时,有些情况下您可能需要对单元格进行一些数据转换,比如转换单位、转换货币、转换时区等。

转换单位

在大多数情况下,当我们需要将一个数值从一个度量单位转换为另一个度量单位时,我们将利用CONVERT函数。然而,对于某些您尝试进行的单位转换,CONVERT函数将无法正常运行。

步骤1

您可以使用CONVERT函数将范围中指定的英寸分别转换为相应的英尺、厘米和毫米的值。

Excel单元格转换教程 - 转换单位、文字和数字、货币、时区等

步骤2

有许多选择用于测量的单位。要查看属于每个类别的单位,并可与CONVERT函数的“from unit”和“to unit”参数一起使用的单位,请分别键入“from unit”和“to unit”。

=CONVERT(number, from_unit, to_unit)

其中,

  • number - 必须转换的数值。

  • from_unit - 数字的初始测量单位。

  • to_unit - “number”将被转换的单位

英寸到毫米的转换

选择一个单元格(假设此示例使用C2),然后将下面提供的公式粘贴或键入该单元格,然后按Enter键。首先,选择包含该结果的单元格,然后使用自动填充处理器向下移动它。这将带出其余的结果。

=CONVERT(A2,"in","mm")

Excel单元格转换教程 - 转换单位、文字和数字、货币、时区等

步骤3

选择一个单元格(假设此示例使用D2),然后将下面提供的公式粘贴或键入该单元格,然后按Enter键。首先,选择包含该结果的单元格,然后使用自动填充处理器向下移动它。这将带出其余的结果。

=CONVERT(A2,"in","cm")

Excel单元格转换教程 - 转换单位、文字和数字、货币、时区等

步骤4

选择一个单元格(假设此示例使用E2),然后将下面提供的公式粘贴或键入该单元格,然后按Enter键。首先,选择包含该结果的单元格,然后使用自动填充处理器向下移动它。这将带出其余的结果。

=CONVERT(A2,"in","ft")

Excel单元格转换教程 - 转换单位、文字和数字、货币、时区等

文字和数字

如果您想将数字显示为英语单词,那么下面的用户定义函数可能会对您有用。

Excel单元格转换教程 - 转换单位、文字和数字、货币、时区等

步骤1

按住Alt键,同时按下F11键,即可启动Microsoft Visual Basic for Applications窗口;或者转到 开发人员 菜单并选择 Visual Basic

Excel单元格转换教程 - 转换单位、文字和数字、货币、时区等

然后,它将打开 Microsoft Visual Basic for Applications 。然后转到 插入 并选择 模块

Excel单元格转换教程 - 转换单位、文字和数字、货币、时区等

然后复制并粘贴以下VBA代码。

Function NumberstoWords(ByVal MyNumber)
  '20220516由Extendoffice更新
  Dim xStr As String
  Dim xFNum As Integer
  Dim xStrPoint
  Dim xStrNumber
  Dim xPoint As String
  Dim xNumber As String
  Dim xP() As Variant
  Dim xDP
  Dim xCnt As Integer
  Dim xResult, xT As String
  Dim xLen As Integer
  On Error Resume Next
  xP = Array("", "千", "百万", "十亿", "万亿", " ", " ", " ", " ")
  xNumber = Trim(Str(MyNumber))
  xDP = InStr(xNumber, ".")
  xPoint = ""
  xStrNumber = ""
  If xDP > 0 Then
    xPoint = "点"
    xStr = Mid(xNumber, xDP + 1)
    xStrPoint = Left(xStr, Len(xNumber) - xDP)
    For xFNum = 1 To Len(xStrPoint)
      xStr = Mid(xStrPoint, xFNum, 1)
      xPoint = xPoint & GetDigits(xStr) & " "
    Next xFNum
    xNumber = Trim(Left(xNumber, xDP - 1))
  End If
  xCnt = 0
  xResult = ""
  xT = ""
  xLen = 0
  xLen = Int(Len(Str(xNumber)) / 3)
  If (Len(Str(xNumber)) Mod 3) = 0 Then xLen = xLen - 1
  Do While xNumber <> ""
    If xLen = xCnt Then
      xT = GetHundredsDigits(Right(xNumber, 3), False)
    Else
      If xCnt = 0 Then
        xT = GetHundredsDigits(Right(xNumber, 3), True)
      Else
        xT = GetHundredsDigits(Right(xNumber, 3), False)
      End If
    End If
    If xT <> "" Then
      xResult = xT & xP(xCnt) & xResult
    End If
    If Len(xNumber) > 3 Then
      xNumber = Left(xNumber, Len(xNumber) - 3)
    Else
      xNumber = ""
    End If
    xCnt = xCnt + 1
  Loop
  xResult = xResult & xPoint
  NumberstoWords = xResult
End Function
Function GetHundredsDigits(xHDgt, xB As Boolean)
  Dim xRStr As String
  Dim xStrNum As String
  Dim xStr As String
  Dim xI As Integer
  Dim xBB As Boolean
  xStrNum = xHDgt
  xRStr = ""
  On Error Resume Next
  xBB = True
  If Val(xStrNum) = 0 Then Exit Function
  xStrNum = Right("000" & xStrNum, 3)
  xStr = Mid(xStrNum, 1, 1)
  If xStr <> "0" Then
    xRStr = GetDigits(Mid(xStrNum, 1, 1)) & "百"
  Else
    If xB Then
      xRStr = "零"
      xBB = False
    End If
  End If
  If Mid(xStrNum, 2, 2) <> "00" Then
    xRStr = xRStr & GetTenDigits(Mid(xStrNum, 2, 2), xBB)
  End If
  GetHundredsDigits = xRStr
End Function
Function GetTenDigits(xTDgt, xB As Boolean)
  Dim xStr As String
  Dim xI As Integer
  Dim xArr_1() As Variant
  Dim xArr_2() As Variant
  Dim xT As Boolean
  xArr_1 = Array("十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九")
  xArr_2 = Array("", "", "二十", "三十", "四十", "五十", "六十", "七十", "八十", "九十")
  xStr = ""
  xT = True
  On Error Resume Next
  If Val(Left(xTDgt, 1)) = 1 Then
    xI = Val(Right(xTDgt, 1))
    If xB Then xStr = "零"
    xStr = xStr & xArr_1(xI)
  Else
    xI = Val(Left(xTDgt, 1))
    If Val(Left(xTDgt, 1)) > 1 Then
      If xB Then xStr = "零"
      xStr = xStr & xArr_2(Val(Left(xTDgt, 1)))
      xT = False
    End If
    If xStr = "" Then
      If xB Then
        xStr = "零"
      End If
    End If
    If Right(xTDgt, 1) <> "0" Then
      xStr = xStr & GetDigits(Right(xTDgt, 1))
    End If
  End If
  GetTenDigits = xStr
End Function
Function GetDigits(xDgt)
  Dim xStr As String
  Dim xArr_1() As Variant
  xArr_1 = Array("零", "一", "二", "三", "四", "五", "六", "七", "八", "九")
  xStr = ""
  On Error Resume Next
  xStr = xArr_1(Val(xDgt))
  GetDigits = xStr
End Function

查看下面的屏幕截图。

Excel单元格转换教程 - 转换单位、文字和数字、货币、时区等

步骤2

选择一个空白单元格,例如C2。输入以下公式后按Enter键 ŌłÆ

=NumberstoWords(C2)

Excel单元格转换教程 - 转换单位、文字和数字、货币、时区等

步骤3

选择此结果单元格后,拖动AutoFill Handle到其他结果。

Excel单元格转换教程 - 转换单位、文字和数字、货币、时区等

结论

在本教程中,我们解释了如何在Excel中转换单位、文本和数字。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程