Information functions

INFO

Matches all 21 recorded answers

Recorded: 21 workbook cells. How we measure this · See the Rust code

Local names in 40 languages
LanguageName in Excel
ArabicINFO
BulgarianINFO
CzechINFO
DanishINFO
GermanINFO
GreekINFO
English (Australia)INFO
English (United Kingdom)INFO
English (United States)INFO
SpanishINFORMACIÓN
EstonianINFO
FinnishKUVAUS
FrenchINFOS
HebrewINFO
CroatianINFO
HungarianINFÓ
IndonesianINFO
ItalianINFO
JapaneseINFO
KoreanINFO
LithuanianINFO
LatvianINFO
NorwegianINFO
DutchINFO
PolishINFO
Portuguese (Brazil)INFORMAÇÃO
Portuguese (Portugal)INFORMAÇÕES
RomanianINFO
RussianИНФОРМ
SlovakINFO
SlovenianINFO
Serbian (Latin)INFO
SwedishINFO
ThaiINFO
TurkishBİLGİ
UkrainianINFO
VietnameseINFO
Chinese (Simplified)INFO
Chinese (Hong Kong)INFO
Chinese (Traditional)INFO

Names from Microsoft's support site.

What it does

INFO(type_text)

INFO(type_num) returns one fact about the running Excel environment, selected by name.

Its subject is not a value, not a cell and not a workbook — it is the application and the machine it is running on. That makes it the most host-dependent function in the worksheet surface, and it is declared accordingly: HostInteractionClass::WorkbookState, FecDependencyProfile::Composite, VolatilityClass::VolatileContextual, ThreadSafetyClass::HostSerialized.

Microsoft's published type_text table, verbatim:

Type_textReturns
"directory"Path of the current directory or folder from Excel startup option
"numfile"Number of worksheets in the open workbooks
"origin"Absolute cell reference of top-left visible cell (Lotus 1-2-3 compatibility)
"osversion"Current operating system version as text
"recalc"Current recalculation mode: "Automatic" or "Manual"
"release"Version of Microsoft Excel as text
"system"Operating environment name: "mac" or "pcdos"

Two further documented facts sit alongside that table and are as important as the table itself:

  1. Three names were removed. "memavail", "memused" and "totmem" are no longer supported and return #N/A. They reported memory figures in earlier Excel versions. A workbook written before the removal still parses and now silently returns errors — one of the cleanest examples in Excel of a function whose domain shrank across versions.
  2. INFO is unavailable in Excel Web App. The function is a platform-availability boundary, not merely a platform-varying answer.

Arguments

type_num — required, exactly one. The published signature is INFO(type_num), and the name is a historical misnomer: the argument is text, not a number. Microsoft's own table column is headed Type_text.

It is coerced to text and matched case-insensitively after trimming, so "RECALC" and " recalc " are the same request. A name outside the recognised set is a failure, not a null result.

There is no second argument. Unlike CELL, INFO has no reference position at all — there is nothing to point it at.

Try it

Input cells (optional)

Example: {"B2": 3, "B3": 4}. A1 holds the formula. Other cells need values before a formula can read them.

Enter a formula, then calculate.

Runs locally in your browser with OneCalc. Its answer may differ from Excel. Use English function names and commas between arguments.

Quirks

Result and edge cases

The return kind depends on the name: Text for "directory", "origin", "osversion", "recalc", "release" and "system"; Number for "numfile".

  • "origin" is reference-style dependent. Its documented result differs between A1 and R1C1 reference styles, and it is scoped to the top-left visible cell — so scrolling the window changes it. This is the purest volatility on the page: no data changed, no formula changed, the answer moved because the user scrolled.
  • "numfile" counts worksheets across all open workbooks, not sheets in the current one. Opening an unrelated file changes it.
  • "recalc" reports application state that the user can toggle from the ribbon.
  • "system" returns "mac" or "pcdos" — the second string is a fossil, and any workbook branching on it is branching on 1980s vocabulary.
  • The three withdrawn names return #N/A.
  • Cross-platform and cross-version divergence is the normal case, not the exception. Every answer this function gives is a property of the environment, so two machines are expected to disagree. A test suite for INFO cannot have fixed expected values; it can only have invariants (e.g. "recalc" is one of two strings) and per-environment recordings.
  • Security posture. "directory", "osversion" and "release" expose local environment detail into cell values, which then travel with the file. That is worth knowing before putting INFO into a shared workbook.

Errors

Microsoft's page documents #N/A for the three withdrawn names. The Handbook has read the type_text table and the removal note and does not have a further documented error table to reproduce.

  • an unrecognised type_num name — #VALUE!
  • an arity failure (zero arguments, or two) — #VALUE!
  • no host available — the call is refused rather than answered
  • a host that recognises the name but cannot answer it — #VALUE!

How to implement

Notes for implementers

  1. INFO must be a declared host query with an explicit no-host failure. There is no correct local answer. Synthesising "release" or "osversion" from the runtime the engine happens to be running on produces a plausible lie.
  2. Keep the withdrawn names in the parser, routed to the host. Short-circuiting them to #N/A in the function layer hard-codes a version fact into a version-independent layer, and it is the host that knows whether it still supports them.
  3. The argument is text despite being called type_num. Do not add a numeric path.
  4. Any recorded result must carry platform, build and locale. INFO's outputs are the very axes the Handbook's claim rules require claims to be scoped by (claim language and honesty), so an unscoped INFO expectation is meaningless by construction.
  5. Do not cache. "recalc", "numfile" and "origin" can all change without any workbook edit.

Rust code

Show the CalcFunc source of this function

Quoted from the public repository DnaCalc/DnaCalc, crates calc-func and calc-fml, at commit 9e1884369a67. Comments are the source's own. A kernel shared with other functions appears once, on its module page.

INFO · 1 lines · calc-func/src/catalogue/host_facts.rs on GitHub
2 info_fn "INFO" (1, 1) [V "type_text"] |s, a, sv| { info(s, a, sv) }

Kernels shared with other functions

Argument and result plumbing

No implementation has been published with a Handbook test suite for this function.

Version differences

No comparison between specific Excel builds is recorded here yet. This does not establish that all builds behave alike.

Alternatives

Relationships

  • CELL is the sibling one level down: same category, same host dependence, same cannot-evaluate-without-Excel property, but its subject is a cell rather than the application. Between them they are the two functions in this assignment for which the Handbook can hold no computed answers at all.
  • SHEETS() with no argument counts sheets in the current workbook; INFO("numfile") counts them across every open workbook. Confusing the two is easy and the difference only shows up when a second file is open.
  • CELL("filename", …) is the usual route to the workbook path, and is generally preferred over INFO("directory") because it names the file rather than the startup folder.
  • NOW() and TODAY() are the other functions whose answers come from the environment rather than from arguments, but they are cleanly volatile in a way the dependency graph understands; INFO's volatility is contextual and messier.
  • ISFORMULA, SHEET, SHEETS, FORMULATEXT are the other host-backed members of the Information category, all of which at least take a reference.

Named variants

No named variants are recorded yet.

Suggest a correction or contribute an implementation · For agents