Engineering functions

IMABS

Matches all 1,212 recorded answers

Recorded: 1,209 in the answer bank and 3 workbook cells. How we measure this · See the Rust code

Local names in 40 languages
LanguageName in Excel
ArabicIMABS
BulgarianIMABS
CzechIMABS
DanishIMABS
GermanIMABS
GreekIMABS
English (Australia)IMABS
English (United Kingdom)IMABS
English (United States)IMABS
SpanishIM.ABS
EstonianIMABS
FinnishKOMPLEKSI.ABS
FrenchCOMPLEXE.MODULE
HebrewIMABS
CroatianIMABS
HungarianKÉPZ.ABSZ
IndonesianIMABS
ItalianIMABS
JapaneseIMABS
KoreanIMABS
LithuanianIMABS
LatvianIMABS
NorwegianIMABS
DutchC.ABS
PolishMODUŁ.LICZBY.ZESP
Portuguese (Brazil)IMABS
Portuguese (Portugal)IMABS
RomanianIMABS
RussianМНИМ.ABS
SlovakIMABS
SlovenianIMABS
Serbian (Latin)IMABS
SwedishIMABS
ThaiIMABS
TurkishSANMUTLAK işlevi
UkrainianIMABS
VietnameseIMABS
Chinese (Simplified)IMABS
Chinese (Hong Kong)IMABS
Chinese (Traditional)IMABS

Names from Microsoft's support site.

What it does

IMABS(inumber)

IMABS(inumber) returns the modulus of a complex number a+bi. Unlike functions that return complex text, this function returns a real worksheet number.

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.

=IMABS("8+15i") returns 17, since 8^2+15^2=289 and its square root is seventeen. =IMABS("-4i") returns 4: changing direction does not change distance from zero.

Quirks

The result is numeric and nonnegative. Real-only and pure-imaginary inputs are valid; a negative coefficient does not make a negative modulus. The current parser rejects malformed complex text with #NUM! and logical values with #VALUE!.

Squaring each component naively can overflow even when the modulus is representable. The current implementation uses a runtime hypotenuse primitive. This differs from IMSQRT's separately observed sum-of-squares graph.

How to implement

Parse the input as the pair (a,b). A numeric scalar becomes (a,0); complex text may use lowercase i or j. Return the runtime hypot(a,b) under the worksheet number-publication policy.

For a mathematical scaled implementation, take m=max(abs(a),abs(b)) and t=min(abs(a),abs(b))/m. Return zero if m=0; otherwise compute m*sqrt(1+t*t). This bounds the squared ratio by one. It avoids intermediate square overflow, although its rounding is not a substitute for every runtime hypot result. For 8+15i, the scaled expression is 15*sqrt(1+(8/15)^2), about seventeen. The lexical parser and numerical primitive are separate parts of the implementation.

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.

IMABS · 1 lines · calc-func/src/catalogue/engineering.rs on GitHub
31 imabs "IMABS" (1, 1) [V "inumber"] |s, a, sv| { complex_number(s, a, |z| Ok(z.abs())) }

Kernels shared with other functions

Argument and result plumbing

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

Version differences

The recorded environments below distinguish a reading from a same-input comparison. Counts describe captured inputs in each environment; overlapping captures and comparisons are not totals of unique worksheet calls.

Excel 16.0 buildPlatform and CPUCaptured inputs
20430Windows, 64-bit, CPU not recorded1,209

The record contains no same-input comparison between these environments. Reading different inputs on different builds does not establish either a version change or cross-build agreement.

Recorded environments and comparison details.

Excel 16.0 build 20430

Windows, 64-bit, CPU not recorded

1,209 captured inputs are indexed for this environment. Capture dates: 2026-09-29 to 2026-09-29. This is a reading count, not a comparison with another build.

Alternatives

COMPLEX constructs text from coordinates. IMARGUMENT returns the phase angle.

Named variants

No named variants are recorded yet.

Suggest a correction or contribute an implementation · For agents