In Excel: use =TEXTAFTER(CELL("filename", A1), "]") on Microsoft 365, or =MID(CELL("filename",A1), FIND("]", CELL("filename",A1))+1, 255) in any version — and save the file first, because CELL("filename") returns an empty string until it has been saved.
On this page7
Save the workbook — CELL("filename") returns an empty string until the file exists on disk.
On Microsoft 365: =TEXTAFTER(CELL("filename", A1), "]").
On older versions: =MID(CELL("filename",A1), FIND("]", CELL("filename",A1))+1, 255).
Always pass the second argument (A1). Without it the result follows the last-calculated sheet, not this one.
For the file name instead: =TEXTBEFORE(TEXTAFTER(CELL("filename",A1),"["),"]").
Wrap it in IFERROR if the workbook may be used before its first save.
What this does
Excel has no SHEETNAME function. The only route is CELL("filename", A1), which returns the full path in the form C:\Reports\[Budget.xlsx]January — path, file name in square brackets, then the sheet name. Everything after the closing bracket is the sheet name, so the formula is one text extraction. Three details decide whether it works. The second argument matters: CELL("filename") with no reference returns the name of whichever sheet was last calculated, which on a multi-sheet workbook gives the wrong answer at unpredictable times — always pass a cell on the sheet you mean, such as A1. The workbook must have been saved at least once, or the function returns "". And CELL is volatile, so it recalculates on every change in the workbook; on a sheet with hundreds of these it is worth noticing. To get the file name instead, take the text between the brackets; to list every sheet name, Power Query or a small macro is the practical route. The same idea underpins a lot of everyday Excel work, so the few minutes spent getting it right here pay back across every sheet you build afterwards. Treat it as a pattern, not a one-off, and it stops being something you look up and starts being something you reach for. The difference between a quick fix and a sheet you can trust is the extra minute you spend validating “excel sheet name in cell”. Start on a copy or a tiny sample, keep the affected sheet visible, and compare the result with the tool above before you touch the real workbook. When a formula is involved, keep the inputs labelled beside it, reference cells instead of typing values, and apply number formatting only after the result checks out. The point is a layout choice that keeps the sheet readable and sortable, but the practical win is that someone else can open the file and understand what happened without asking you.
A worked example
On a sheet named January in Budget.xlsx: =CELL("filename", A1) returns C:\Reports\[Budget.xlsx]January. =TEXTAFTER(CELL("filename", A1), "]") returns January. Rename the tab to Jan-2026 and the cell updates by itself, which is why a report header built this way can never disagree with the tab it sits on. A report header that reads its own tab name cannot go stale, which is exactly what a typed one does the first time someone renames the sheet. One habit worth forming early: name the cells that hold your inputs, so the formula reads in plain language instead of a string of cell addresses. A reviewer — or you in three months — can then follow the logic without decoding what B7 and D2 were supposed to mean, which is most of what makes a sheet maintainable.
In Google Sheets
References to another workbook do not carry over: Excel's [Workbook.xlsx]Sheet1!B4 syntax is not valid in Google Sheets, where data from another spreadsheet is pulled in with IMPORTRANGE. References to another tab in the same file (Sheet2!B4) work in both. Some functions on this page are newer additions to Excel: they are in current Microsoft 365 and Excel for the web, while older perpetual Excel versions return #NAME?. Google Sheets maintains its own function list, so confirm each function exists there before relying on the same formula. Keep this page bookmarked for the next time the same question comes up. Better still, repeat the steps once in your own workbook — doing it yourself is what turns a copied answer into something you remember. If you take one thing from this page on “excel sheet name in cell”, make it the habit rather than the keystrokes: set the problem up with labelled inputs, reference those cells, and let Excel do the recomputing. Bookmark the page for the syntax, but do the example once in a blank sheet and check it against the tool above — five minutes of hands-on practice fixes the method in memory far better than re-reading, and it surfaces the small snags while they are still harmless. After that the technique is genuinely yours: faster than searching for it again, and reliable enough to drop into work that other people depend on.
Common mistakes
- Omitting the cell reference, which produces a name that changes as other sheets recalculate.
- Testing in an unsaved workbook and concluding the formula is wrong when it is returning "" correctly.
- Expecting a SHEETNAME function to exist — SHEET() returns the index number, not the name.
- Putting hundreds of CELL calls on one sheet and adding a volatile recalculation to every keystroke.
- Hard-coding the sheet name into a title instead, which then silently disagrees with the tab after a rename.
Frequently asked questions
How do I get the sheet name in a formula?
=TEXTAFTER(CELL("filename", A1), "]") on Microsoft 365, or the MID/FIND version in older releases. The workbook must have been saved.
Why does my sheet-name formula return nothing?
The workbook has never been saved, so CELL("filename") has no path to report. Save it once and the formula fills in.
Why does the wrong sheet name appear?
The formula omits the second argument. CELL("filename") alone reports the last-calculated sheet; CELL("filename", A1) reports this one.
How do I get the file name instead of the sheet name?
Take the text between the square brackets: =TEXTBEFORE(TEXTAFTER(CELL("filename",A1),"["),"]").
Other ways people ask this
People reach this page typing “excel cell name of sheet” and “excel cell sheet name”, among other phrasings; whichever wording you used, the fix above is the one you want.
Why do people search for this in so many different ways?
Because the same task has many names. “excel cell name of sheet”, “excel cell sheet name” all point at the one operation explained on this page, which is why they all lead here.