如:需要从工作表名称(例如 “11月”)中提取数字部分(如 “11”),可以通过以下方法实现:
方法 1:使用公式提取 Sheet 名称的数字部分
使用公式获取当前工作表的名称:
=MID(CELL("filename", A1), FIND("]", CELL("filename", A1)) + 1, LEN(CELL("filename", A1)))
这会返回工作表名称(例如 “11月”)。
从名称中提取数字部分(假设名称总是以数字开头):
=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 脚本:
- 按 Alt + F11 打开 VBA 编辑器。
插入模块并粘贴以下代码:
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
- 关闭 VBA 编辑器。
在 Excel 单元格中输入以下公式:
=GetSheetNumber()
结果:如果工作表名称是 “11月”,函数会提取数字 11。