IMDIV Function (Calligra Sheets)
Divide complex values with Calligra Sheets IMDIV. See exact two-argument syntax, conjugate-based checks and engine-only zero-denominator results.
Verification status: Selected formulas were executed through the Calligra Sheets 25.04.2 calculation engine library. Complex outputs are reported as components, not GUI-cell display. Version 26.08.2 was source-checked only. How formula examples are checked
Quick answer: =IMDIV(COMPLEX(3;4);COMPLEX(1;-2)) gives (-1,2) in the tested Calligra calculation engine. The pair gives the real and imaginary components, not worksheet display text.
Availability and version history
- Introduced: First release not established; the name is present in Calligra 2.4.0 source.
- Supported in: Calligra Sheets 26.08.2, with no retirement established.
- Scope: Desktop Sheets with the Engineering module. Examples use English semicolon-separated formulas.
- Checked: October 14, 2026. Formulas were executed through the official 25.04.2 engine library and checked against source and independent mathematics. This is not GUI-cell or workbook-import evidence; 26.08.2 was source-checked, not executed.
What IMDIV returns
IMDIV divides the first complex value by the second. A valid ordinary quotient requires a nonzero denominator. It is not component-by-component division: both denominator components contribute to each result component. Function help.
Syntax and arguments
=IMDIV(value1;value2)
Exactly two arguments are required. Although the help syntax contains an ellipsis, registration rejects extra scalar arguments. The source has array-walking support, but these retained tests cover scalar inputs only. Registration and implementation, with versioned help.
Reproducible engine examples
Results are shown as (real,imaginary) component pairs, rounded to twelve decimal places, not a literal cell format. A component rounded to zero is shown as 0; the stored value may still contain a tiny residual or signed zero. NaN means not-a-number; infinity and NaN are not finite results.
| Formula | Engine result |
|---|---|
=IMDIV(COMPLEX(3;4);COMPLEX(1;-2)) |
(-1,2) |
=IMDIV(COMPLEX(3;-4);COMPLEX(1;2)) |
(-1,-2) |
=IMDIV(COMPLEX(-3;4);COMPLEX(2;1)) |
(-0.4,2.2) |
=IMDIV(COMPLEX(-3;-4);COMPLEX(2;-1)) |
(-0.4,-2.2) |
=IMDIV(COMPLEX(1;0);COMPLEX(2;0)) |
(0.5,0) |
=IMDIV(COMPLEX(0;1);COMPLEX(0;2)) |
(0.5,0) |
=IMDIV(COMPLEX(-1;0);COMPLEX(0;1)) |
(0,1) |
=IMDIV(COMPLEX(0.5;0.25);COMPLEX(0.25;-0.5)) |
(0,1) |
Practical worksheet
=IMDIV(COMPLEX(3;4);COMPLEX(1;-2)) gives −1+2i. Multiplying numerator and denominator by the denominator’s conjugate gives (−5+10i)/5. The denominator magnitude squared is 1²+(−2)²=5.
If numerator components occupy A2:B2 and denominator components C2:D2, use =IMDIV(COMPLEX(A2;B2);COMPLEX(C2;D2)). Check the denominator before division. A very small magnitude may be mathematically nonzero while still amplifying input errors substantially.
Advanced interpretation and checks
Multiplication followed by division should reconstruct an ordinary original value. The executed formula =IMDIV(IMPRODUCT(COMPLEX(3;4);COMPLEX(1;-2));COMPLEX(1;-2)) returned (3,4). This is a roundtrip check for the listed modest inputs, not a universal numerical guarantee.
The quotient magnitude is |numerator|/|denominator|. Here it is 5/√5=√5, approximately 2.236067977500. Its phase is the difference of the input phases, adjusted by a full turn if necessary. Do not divide phase angles as though they were ordinary components.
Input boundaries and cautions
Zero denominators produced nonfinite components in the 25.04.2 engine library: IMDIV(1;0) exposed positive infinity and NaN, while IMDIV(0;0) exposed NaN in both components. The engine error flag was false. These are invalid numerical results, not successful quotients; the test does not establish how a GUI cell formats them.
Invalid numerator text became zero, so IMDIV(“abc”;2) returned zero. A failed denominator parse can therefore be especially hazardous. The calls with one or three arguments produced #VALUE!. Validate original inputs and denominator magnitude rather than relying only on the engine’s error flag.
| Formula | Engine result |
|---|---|
=IMDIV("3+4i";"1-2i") |
(-1,2) |
=IMDIV("3+4j";"1-2j") |
(-1,2) |
=IMDIV("abc";2) |
(0,0) |
=IMDIV("";2) |
(0,0) |
=IMDIV(TRUE();2) |
(0.5,0) |
=IMDIV() |
#VALUE! |
=IMDIV(3) |
#VALUE! |
=IMDIV(3;2;1) |
#VALUE! |
=IMDIV(1;0) |
(+Infinity,NaN) |
=IMDIV(0;0) |
(NaN,NaN) |
Conversion evidence
The complex conversion helper explains the text and Boolean cases above. The inspected Engineering module and complex converter are byte-identical between 25.04.2 and 26.08.2. That source comparison does not establish every locale, import path or extreme-value case.
The component callbacks perform the arithmetic, with a shared array walker. Registration, rather than an unreachable helper branch, determines the accepted scalar argument count.
Related guides
Use COMPLEX to construct values from numeric components, IMABS for magnitude, and IMARGUMENT for principal phase.