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
LanguageName in Excel
ArabicIMPOWER
BulgarianIMPOWER
CzechIMPOWER
DanishIMAGPOTENS
GermanIMPOWER
GreekIMPOWER
English (Australia)IMPOWER
English (United Kingdom)IMPOWER
English (United States)IMPOWER
SpanishIM.POT
EstonianIMPOWER
FinnishKOMPLEKSI.POT
FrenchCOMPLEXE.PUISSANCE
HebrewIMPOWER
CroatianIMPOWER
HungarianKÉPZ.HATV
IndonesianIMPOWER
ItalianIMPOWER
JapaneseIMPOWER
KoreanIMPOWER
LithuanianIMPOWER
LatvianIMPOWER
NorwegianIMPOWER
DutchC.MACHT
PolishPOTĘGA.LICZBY.ZESP
Portuguese (Brazil)IMPOWER
Portuguese (Portugal)IMPOT
RomanianIMPOWER
RussianМНИМ.СТЕПЕНЬ
SlovakIMPOWER
SlovenianIMPOWER
Serbian (Latin)IMPOWER
SwedishIMUPPHÖJT
ThaiIMPOWER
TurkishSANKUVVET işlevi
UkrainianIMPOWER
VietnameseIMPOWER
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

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.

=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 GitHub
52 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

Argument and result plumbing

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