Engineering functions

IMPRODUCT

Matches all 3,266 recorded answers

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

Local names in 40 languages
LanguageName in Excel
ArabicIMPRODUCT
BulgarianIMPRODUCT
CzechIMPRODUCT
DanishIMAGPRODUKT
GermanIMPRODUCT
GreekIMPRODUCT
English (Australia)IMPRODUCT
English (United Kingdom)IMPRODUCT
English (United States)IMPRODUCT
SpanishIM.PRODUCT
EstonianIMPRODUCT
FinnishKOMPLEKSI.TULO
FrenchCOMPLEXE.PRODUIT
HebrewIMPRODUCT
CroatianIMPRODUCT
HungarianKÉPZ.SZORZAT
IndonesianIMPRODUCT
ItalianIMPRODUCT
JapaneseIMPRODUCT
KoreanIMPRODUCT
LithuanianIMPRODUCT
LatvianIMPRODUCT
NorwegianIMPRODUCT
DutchC.PRODUCT
PolishILOCZYN.LICZB.ZESP
Portuguese (Brazil)IMPRODUCT
Portuguese (Portugal)IMPROD
RomanianIMPRODUCT
RussianМНИМ.ПРОИЗВЕД
SlovakIMPRODUCT
SlovenianIMPRODUCT
Serbian (Latin)IMPRODUCT
SwedishIMPRODUKT
ThaiIMPRODUCT
TurkishSANÇARP işlevi
UkrainianIMPRODUCT
VietnameseIMPRODUCT
Chinese (Simplified)IMPRODUCT
Chinese (Hong Kong)IMPRODUCT
Chinese (Traditional)IMPRODUCT

Names from Microsoft's support site.

What it does

IMPRODUCT(inumber1, [inumber2], ...)

IMPRODUCT(inumber1, [inumber2], ...) multiplies complex numbers. The variadic form accepts individual complex values and collections of them.

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.

=IMPRODUCT("2+i","2-i") returns "5". The imaginary cross terms cancel, while the real term is 4-(-1)=5 because i*i=-1. The returned five is text, ready for another complex function.

Quirks

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. Floating-point reduction order can affect a long calculation even when the corresponding mathematical operation is associative.

How to implement

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.

Start at (1,0) and fold (a,b)*(c,d)=(a*c-b*d,a*d+b*c), retaining both old coefficients until the new pair is computed. The example gives real 4-(-1)=5 and imaginary -2+2=0. The current implementation uses ordinary binary64 component arithmetic. Keep error propagation and traversal of range arguments consistent with the worksheet call model; flattening values without their error policy can change which result is returned.

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.

IMPRODUCT · 5 lines · calc-func/src/catalogue/engineering.rs on GitHub
55 improduct "IMPRODUCT" (1, 255) [R "inumber1", R "inumber2"] |s, a, sv| {
    let zs = complexes(s, a, sv)?;
    let product = zs.iter().fold(ParsedComplex::new(1.0, 0.0, None), |acc, z| acc.mul(*z));
    complex_text(Ok(product), &zs)
}

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 recorded3,260

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

3,260 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 each input; IMDIV divides; IMPOWER raises one input to a real power.

Named variants

No named variants are recorded yet.

Suggest a correction or contribute an implementation · For agents