What a defined name is
A defined name is a label in workbook.xml that points at a formula. Sales might mean Sheet1!$A$1:$A$20. Names can be workbook-scoped or local to one sheet. They can be hidden, which keeps them out of the name box but not out of the file. Excel also writes reserved names that start with _xlnm, such as print areas and filter ranges. Those are part of the sheet’s setup. This auditor lists every name and marks hidden, broken, external, and unused candidates.
Broken, external, and hidden
A name is broken when its formula contains #REF!. Cells that use that name then show #REF! too, which is why a cleanup of names often clears a swarm of error cells. A name is external when the formula contains a bracketed workbook. Those names survive Break Links more often than cell formulas do. A hidden name is not malicious by itself. Excel hides names for filters and some internal features. A hidden name you did not create, pointing at another file, is worth reading before you trust the workbook.
The repair steps live in the guide on which names are safe to remove.
Unused candidates
A name is an unused candidate when it is not reserved, not broken, and its label never appears in a scanned formula or in another name’s formula. Print areas are reserved and are not called unused. The test is textual, so a name that is used only by a chart series or a conditional formatting rule can be flagged even though Excel still needs it. Treat the flag as a review list. Delete a name only after you search the workbook for it, including charts and formatting rules. Deleting a name that a formula still uses turns that formula into #NAME?.
Scope
localSheetId ties a name to one sheet. The same label can exist on two sheets with different targets. The report shows the sheet name when the index matches a sheet in the workbook, and “Workbook” when the name is global. A local name does not protect you from a global name with the same label. Excel’s precedence rules are fiddly. If a formula behaves differently on two sheets, compare scopes here before you rewrite the formula.
Binary workbooks
.xlsb stores names in workbook.bin. This version does not decode those records, and the page says the name list is unavailable. Saving a copy as .xlsx, if you are allowed to, is the way to audit names with this tool. Do that on a copy so the original binary file stays untouched. After you delete a batch of unused candidates, calculate once. #NAME? in a cell you did not expect means a chart, a validation rule, or a formula still needed that name. Restore that single name from the copy you kept, then continue. A cleanup that creates #NAME? is unfinished, not successful.