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.
Engineering functions
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
| Language | Name in Excel |
|---|---|
| Arabic | IMLOG10 |
| Bulgarian | IMLOG10 |
| Czech | IMLOG10 |
| Danish | IMAGLOG10 |
| German | IMLOG10 |
| Greek | IMLOG10 |
| English (Australia) | IMLOG10 |
| English (United Kingdom) | IMLOG10 |
| English (United States) | IMLOG10 |
| Spanish | IM.LOG10 |
| Estonian | IMLOG10 |
| Finnish | KOMPLEKSI.LOG10 |
| French | COMPLEXE.LOG10 |
| Hebrew | IMLOG10 |
| Croatian | IMLOG10 |
| Hungarian | KÉPZ.LOG10 |
| Indonesian | IMLOG10 |
| Italian | IMLOG10 |
| Japanese | IMLOG10 |
| Korean | IMLOG10 |
| Lithuanian | IMLOG10 |
| Latvian | IMLOG10 |
| Norwegian | IMLOG10 |
| Dutch | C.LOG10 |
| Polish | LOG10.LICZBY.ZESP |
| Portuguese (Brazil) | IMLOG10 |
| Portuguese (Portugal) | IMLOG10 |
| Romanian | IMLOG10 |
| Russian | МНИМ.LOG10 |
| Slovak | IMLOG10 |
| Slovenian | IMLOG10 |
| Serbian (Latin) | IMLOG10 |
| Swedish | IMLOG10 |
| Thai | IMLOG10 |
| Turkish | SANLOG10 işlevi |
| Ukrainian | IMLOG10 |
| Vietnamese | IMLOG10 |
| Chinese (Simplified) | IMLOG10 |
| Chinese (Hong Kong) | IMLOG10 |
| Chinese (Traditional) | IMLOG10 |
Names from Microsoft's support site.
IMLOG10(inumber)
IMLOG10(inumber) returns the principal base-ten logarithm of a nonzero complex value. The real component describes magnitude and the imaginary component describes angle.
=IMLOG10("i") gives about "0.682188176920921i". Its real component is zero because the modulus is one. The imaginary component is the principal phase pi/2 divided by ln(10). =IMLOG10("100") is approximately text two.
Complex arguments may be real numbers or text such as "2-3i". Use lowercase i or j; operands in one call must agree on the suffix. The current parser rejects malformed complex text with #NUM! and logical values with #VALUE!. A complex result is text, so ordinary worksheet arithmetic does not automatically treat it as a pair of numeric components. Zero has no finite logarithm and the current kernel gives #NUM!. Principal angles create a branch cut on the negative real axis; a real-valued LOG call cannot replace this function.
Parse the two coefficients and suffix before doing arithmetic; use the common complex formatter afterward. Retain suffix consistency, suppress a zero component and omit the coefficient one before the imaginary unit. Formatting and parsing have their own fifteen-significant-digit rules, so testing only the algebra misses observable behaviour.
Compute a scaled modulus h=hypot(a,b) and principal angle theta=atan2(b,a). Reject h=0. Form the natural-log pair (ln(h),theta). Divide both components by the runtime natural logarithm of ten. For non-real input the current code uses runtime log and atan2 leaves. On the real axis its real component instead uses the measured public LN of the absolute input multiplied with stored x87 arithmetic by the binary64 constant 0x3fdbcb7b1526e50e. The imaginary coefficient still uses the runtime phase and base logarithm. This mathematical composition does not identify all their rounding stages in Excel. In particular, preserve negative-real and signed-zero boundary tests rather than assuming that every logarithm wrapper shares IMARGUMENT’s ratio route.
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.
IMLOG10 · 14 lines · calc-func/src/catalogue/engineering.rs on GitHub43 imlog10 "IMLOG10" (1, 1) [V "inumber"] |s, a, sv| {
unary_complex(s, a, |z| {
let ln = z.ln()?;
let re = if z.im == 0.0 {
crate::ported::excel_numeric::excel_x87_mul(
crate::ported::excel_numeric::excel_log(z.re.abs()),
std::f64::consts::LOG10_E,
)
} else {
ln.re / crt_log(10.0)
};
Ok(ParsedComplex::new(re, ln.im / crt_log(10.0), None))
})
}
complex_of catalogue/engineeringcomplex_text catalogue/engineeringunary_complex catalogue/engineeringnearest_even ported/complex_decimaldecimal_pair ported/complex_decimalparse_ascii_decimal_15 ported/complex_familyParsedComplex::new ported/complex_familyParsedComplex::abs ported/complex_familynormalize_zero ported/complex_familynumber_to_excel_text ported/complex_familyformat_complex_text ported/complex_familyparse_real_number ported/complex_familyfind_real_imag_split ported/complex_familyparse_imag_coeff ported/complex_familyparse_complex_text ported/complex_familysuffix_from_operands ported/complex_familybinary_with ported/excel_numericexcel_x87_mul ported/excel_numericmul ported/excel_numeric/x87fail catalogue/kittext catalogue/kittext_value catalogue/kitNo implementation has been published with a Handbook test suite for this function.
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 build | Platform and CPU | Captured inputs |
|---|---|---|
| 20430 | Windows, 64-bit, CPU not recorded | 1,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.
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.
IMEXP is the exponential companion; IMABS and IMARGUMENT expose the polar ingredients.
No named variants are recorded yet.
Suggest a correction or contribute an implementation · For agents