如:需要从工作表名称(例如 “11月”)中提取数字部分(如 “11”),可以通过以下方法实现:

 方法 1:使用公式提取 Sheet 名称的数字部分

  1. 使用公式获取当前工作表的名称:

    =MID(CELL("filename", A1), FIND("]", CELL("filename", A1)) + 1, LEN(CELL("filename", A1)))

    这会返回工作表名称(例如 “11月”)。

  2. 从名称中提取数字部分(假设名称总是以数字开头):

    =LEFT(MID(CELL("filename", A1), FIND("]", CELL("filename", A1)) + 1, LEN(CELL("filename", A1))), FIND("月", MID(CELL("filename", A1), FIND("]", CELL("filename", A1)) + 1, LEN(CELL("filename", A1)))) - 1)

    说明:
    • LEFT(...) 提取名称的左侧部分。
    • FIND("月", ...) 找到 “月” 的位置,确定数字部分的长度。

结果:如果工作表名称是 “11月”,则公式返回 11。

方法 2:使用 VBA 提取数字部分

如果需要自动提取工作表名称中的数字,可以使用以下 VBA 脚本:

VBA 脚本:

  1. 按 Alt + F11 打开 VBA 编辑器。
  2. 插入模块并粘贴以下代码:

    Function GetSheetNumber() As Double
        Dim SheetName As String
        Dim NumberOnly As String
        Dim i As Integer
      
        ' 获取当前工作表的名称
        SheetName = Application.Caller.Worksheet.Name
      
        ' 提取名称中的数字部分
        For i = 1 To Len(SheetName)
      If IsNumeric(Mid(SheetName, i, 1)) Then
          NumberOnly = NumberOnly & Mid(SheetName, i, 1)
      End If
        Next i
      
        ' 转换为数字返回
        GetSheetNumber = Val(NumberOnly)
    End Function
  3. 关闭 VBA 编辑器。
  4. 在 Excel 单元格中输入以下公式:

    =GetSheetNumber()

    结果:如果工作表名称是 “11月”,函数会提取数字 11。

如果觉得我的文章对你有用,请随意赞赏