Excel 16.0 build 19929
Windows, bitness not recorded, CPU not recorded
41 captured inputs are indexed for this environment. Capture dates are not recorded. This is a reading count, not a comparison with another build.
Math and trigonometry functions
Refuses 2 of 32,928 recorded calls; the rest match
Of 32,928 recorded answers (32,925 in the answer bank and 3 workbook cells), 2 do not match: 2 are refused. How we measure this · See the Rust code
| Language | Name in Excel |
|---|---|
| Arabic | RADIANS |
| Bulgarian | RADIANS |
| Czech | RADIANS |
| Danish | RADIANER |
| German | RADIANS |
| Greek | RADIANS |
| English (Australia) | RADIANS |
| English (United Kingdom) | RADIANS |
| English (United States) | RADIANS |
| Spanish | RADIANS |
| Estonian | RADIANS |
| Finnish | RADIAANIT |
| French | RADIANS |
| Hebrew | RADIANS |
| Croatian | RADIANS |
| Hungarian | RADIÁN |
| Indonesian | RADIANS |
| Italian | RADIANS |
| Japanese | RADIANS |
| Korean | RADIANS |
| Lithuanian | RADIANS |
| Latvian | RADIANS |
| Norwegian | RADIANER |
| Dutch | RADIALEN |
| Polish | RADIANY |
| Portuguese (Brazil) | RADIANOS |
| Portuguese (Portugal) | RADIANOS |
| Romanian | RADIANS |
| Russian | РАДИАНЫ |
| Slovak | RADIÁNY |
| Slovenian | RADIANS |
| Serbian (Latin) | RADIJANI |
| Swedish | RADIANER |
| Thai | RADIANS |
| Turkish | RADYAN |
| Ukrainian | RADIANS |
| Vietnamese | RADIANS |
| Chinese (Simplified) | RADIANS |
| Chinese (Hong Kong) | RADIANS |
| Chinese (Traditional) | RADIANS |
Names from Microsoft's support site.
RADIANS(angle)
RADIANS(angle) converts an angle from degrees to radians.
RADIANS(d) = d · π / 180
It is a linear map — multiplication by a single constant — and it exists because every trigonometric function in the worksheet takes radians while every human angle is written in degrees. The constant is
π/180 = 0.01745329251994329576923690768488...
Domain: all real numbers. Range: all real numbers. The map is a bijection on the reals with
DEGREES as its exact mathematical inverse, and — this is the part that matters — not its
floating-point inverse.
| Argument | Meaning | Default |
|---|---|---|
angle | An angle in degrees. Required. | — |
Returns Number.
RADIANS(0) is zero, and RADIANS(-0) preserves the sign of zero in binary64 — a
distinction with no worksheet consequence but a real one at the raw-return boundary; see
The value universe.RADIANS(90) is not π/2, because π/2 is not a
double. SIN(RADIANS(90)) is therefore not exactly 1 for the same reason SIN(PI()/2) is not —
though in this case the error lands in a place where sine is flat, so it is invisible.
COS(RADIANS(90)) is the visible one: a small nonzero value rather than zero.| Error | Condition | Source |
|---|---|---|
#VALUE! | The argument does not convert to a number | shared coercion model |
| propagated | The argument is an error value | shared coercion model |
None of the three is uniformly best. The natural-best route is a two-term (double-double)
representation of π/180: multiply by the high word, then correct with the low word, giving a
result correctly rounded on all but a vanishing set of inputs. The cost is one extra multiply-add.
Why anyone should care. The conversion is the first operation in a trigonometric pipeline,
so its error is the input error for everything downstream, and the trigonometric functions amplify
argument error by the derivative. For TAN and SEC near a pole that amplification is unbounded
(see SEC), so a half-ulp difference in the converted angle becomes an arbitrarily
large difference in the result. Angles near 90° are exactly where engineering spreadsheets live.
The exactness that is not available. Degrees are a decimal-friendly unit and radians are not;
RADIANS(90) cannot be exact, cannot be reduced exactly against π, and cannot be recovered. A
library that wants exact quadrant behaviour has to keep the angle in degrees all the way to the
kernel and use degree-argument trigonometric functions (sinpi/cospi-style, with the argument
scaled by 1/180 exactly inside the kernel). Excel provides no such function, which is a real gap
worth naming: there is no SIND, and SIN(RADIANS(30)) does not return exactly 0.5.
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.
RADIANS · 3 lines · calc-func/src/catalogue/math.rs on GitHub23 radians "RADIANS" (1, 1) [V "angle"] |s, a, sv| {
raw(s, a, ExcelRealPolicy::PASS, k::radians::radians_kernel)
}
radians_kernel · 4 lines · calc-func/src/ported/radians.rs on GitHubpub fn radians_kernel(n: f64) -> f64 {
let result = crate::ported::excel_numeric::excel_x87_mul(n, std::f64::consts::PI / 180.0);
if result.abs() < f64::MIN_POSITIVE { 0.0 } else { result }
}
raw catalogue/mathbinary_with ported/excel_numericexcel_x87_mul ported/excel_numericmul ported/excel_numeric/x87No 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 |
|---|---|---|
| 19929 | Windows, bitness not recorded, CPU not recorded | 41 |
| 20430 | Windows, 64-bit, CPU not recorded | 32,925 |
Agreement on these compared inputs does not establish agreement on unmeasured inputs.
Recorded environments and comparison details.
Windows, bitness not recorded, CPU not recorded
41 captured inputs are indexed for this environment. Capture dates are not recorded. This is a reading count, not a comparison with another build.
Windows, 64-bit, CPU not recorded
32,925 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.
DEGREES — the other direction, r·180/π. The pair is not a floating-point round trip:
DEGREES(RADIANS(d)) returns d for many inputs and not for all, because two roundings by
reciprocal-ish constants do not cancel. If a workbook needs the original degrees back, it should
keep them rather than convert twice.SIN, COS, TAN, SEC, CSC, COT) — the consumers.
SEC(RADIANS(x)) inherits the argument-magnitude guard described on SEC, but at
a different input threshold, because RADIANS shrinks the argument by a factor of about 57.3
before the guard sees it.PI — writing x*PI()/180 by hand is the common alternative, and it is not the same
computation; see the numerical notes.No named variants are recorded yet.
Suggest a correction or contribute an implementation · For agents