Engineering functions
IMPOWER
Matches all 4 recorded answers
Recorded: 4 workbook cells. How we measure this · See the Rust code
Local names in 40 languages
| Language | Name in Excel |
|---|---|
| Arabic | IMPOWER |
| Bulgarian | IMPOWER |
| Czech | IMPOWER |
| Danish | IMAGPOTENS |
| German | IMPOWER |
| Greek | IMPOWER |
| English (Australia) | IMPOWER |
| English (United Kingdom) | IMPOWER |
| English (United States) | IMPOWER |
| Spanish | IM.POT |
| Estonian | IMPOWER |
| Finnish | KOMPLEKSI.POT |
| French | COMPLEXE.PUISSANCE |
| Hebrew | IMPOWER |
| Croatian | IMPOWER |
| Hungarian | KÉPZ.HATV |
| Indonesian | IMPOWER |
| Italian | IMPOWER |
| Japanese | IMPOWER |
| Korean | IMPOWER |
| Lithuanian | IMPOWER |
| Latvian | IMPOWER |
| Norwegian | IMPOWER |
| Dutch | C.MACHT |
| Polish | POTĘGA.LICZBY.ZESP |
| Portuguese (Brazil) | IMPOWER |
| Portuguese (Portugal) | IMPOT |
| Romanian | IMPOWER |
| Russian | МНИМ.СТЕПЕНЬ |
| Slovak | IMPOWER |
| Slovenian | IMPOWER |
| Serbian (Latin) | IMPOWER |
| Swedish | IMUPPHÖJT |
| Thai | IMPOWER |
| Turkish | SANKUVVET işlevi |
| Ukrainian | IMPOWER |
| Vietnamese | IMPOWER |
| Chinese (Simplified) | IMPOWER |
| Chinese (Hong Kong) | IMPOWER |
| Chinese (Traditional) | IMPOWER |
Names from Microsoft's support site.
What it does
IMPOWER(inumber, number)
IMPOWER(inumber, number) raises a complex value to a real exponent, including integer, fractional and negative exponents. The result uses a principal angle for fractional powers.
Try it
=IMPOWER("2+i",2) is approximately "3+4i": algebraically (2+i)^2=4+4i-1. A fractional exponent chooses one branch rather than returning every mathematical root.
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. A nonnumeric exponent gives #VALUE!. The current zero rules return one for exponent zero, zero for a positive exponent and #NUM! for a negative exponent.
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.
For nonzero input compute h=hypot(a,b), theta=atan2(b,a), u=pow(h,p) and angle=theta*p. Form (u*cos(angle),u*sin(angle)) and format. Even an integer exponent takes this polar route in the current kernel, so repeated multiplication can have different last bits and different text. Retain the explicit zero cases before computing a logarithm or phase.
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.
IMPOWER · 5 lines · calc-func/src/catalogue/engineering.rs on GitHub52 impower "IMPOWER" (2, 2) [V "inumber", V "number"] |s, a, sv| {
let z = complex_of(s, 0, &a[0])?;
let n = coefficient(s, a, 1)?;
complex_text(z.power(n), &[z])
}
Kernels shared with other functions
complex_ofcatalogue/engineeringcomplex_textcatalogue/engineeringcoefficientcatalogue/engineeringnearest_evenported/complex_decimaldecimal_pairported/complex_decimalparse_ascii_decimal_15ported/complex_familyParsedComplex::newported/complex_familyParsedComplex::absported/complex_familynormalize_zeroported/complex_familynumber_to_excel_textported/complex_familyformat_complex_textported/complex_familyparse_real_numberported/complex_familyfind_real_imag_splitported/complex_familyparse_imag_coeffported/complex_familyparse_complex_textported/complex_familysuffix_from_operandsported/complex_family
Argument and result plumbing
failcatalogue/kitnumcatalogue/kittextcatalogue/kittext_valuecatalogue/kit
No implementation has been published with a Handbook test suite for this function.
Version differences
No same-input comparison between named Excel builds is recorded for this function here. The documented behaviour below is not a measurement of every Excel release.
Alternatives
IMSQRT is the square-root operation; IMPRODUCT is useful for explicit integer products; POWER handles a real base.
Named variants
No named variants are recorded yet.
Suggest a correction or contribute an implementation · For agents