STANDARDIZE Function in Calligra Sheets: Z-Scores and Worked Examples
Calculate z-scores in Calligra Sheets using STANDARDIZE, a mean and positive standard deviation. Includes reproducible worksheets and official code checks.
Verification status: Official documentation referenced; example outcomes independently reasoned or arithmetically checked where stated. Not executed in Calligra Sheets. How formula examples are checked
Quick answer: STANDARDIZE(x;mean;stdev) computes (x − mean) / stdev. It expresses a numeric observation’s displacement from a mean in standard-deviation units. For example, the officially documented =STANDARDIZE(4;3;7) gives approximately 0.1429, more precisely 0.142857142857. [K1, K3, I1]
Validation (2026-10-13): The pinned Calligra 26.08.2 registration and implementation and KDE handbook/XML have been inspected. All examples are independently calculated expected values, not screenshots or results from a running Calligra Sheets installation. [K1–K5, I1]
Syntax, argument order, exact requirements
=STANDARDIZE(x; mean; stdev)
=STANDARDIZE(4;3;7)
=STANDARDIZE(A2;AVERAGE($A$2:$A$9);STDEVP($A$2:$A$9))
| Position | Name | Required? | Type and meaning |
|---|---|---|---|
| 1 | x |
Yes | Numeric observation to standardize. |
| 2 | mean |
Yes | Numeric arithmetic mean or independently supplied reference mean. |
| 3 | stdev |
Yes | Strictly positive numeric standard deviation. |
setParamCount(3) establishes exactly three arguments with no optional/default values in the inspected function registration. The C++ wrapper assigns x=args[0], m=args[1], s=args[2] and checks s>0; otherwise it returns an internal Value::errorVALUE(). It computes (x−m)/s when valid. [K2, K3]
Documentation punctuation discrepancy: KDE’s older XML/handbook syntax line prints STANDARDIZE(x; mean, stdev), mixing ; and ,. The same official documentation’s worked example uses semicolons for both separators, STANDARDIZE(4; 3; 7), and the source requires three ordered arguments. Accordingly this review demonstrates =STANDARDIZE(x;mean;stdev) in the documented English semicolon style, while explicitly not claiming native parser or locale testing. The comma in the syntax line is not evidence of an alternative Calligra argument convention. [K1, K2, K4]
The output is dimensionless: if x, mean and stdev are all measurements in millimetres, their units cancel. STANDARDIZE is often called a z-score transformation, but calculating a z-score does not itself prove the data follow a normal distribution. [I1]
Reproducible worksheet — eight measured values
- Start a blank worksheet. Enter the eight numeric observations below in A2:A9, with A1 = Measurement. Leave H2:H4 free for the summary and J2:J9 for row-by-row standardized outputs.
- Enter H2
=AVERAGE(A2:A9)→ independently expected 5, H3=STDEVP(A2:A9)→ 2, H4=STDEV(A2:A9)→ approximately 2.138089935299. - In J2, enter
=STANDARDIZE(A2;$H$2;$H$3)and fill/copy through J9. The$signs lock the mean and population standard deviation as the formula is copied. [I1] - Compare each J-row with the expected outputs and enter the additional controls after the data table. All results are independently calculated. [I1]
| Cell | A value | Formula for corresponding J cell | Expected J result |
|---|---|---|---|
| A2 | 2 | =STANDARDIZE(A2;$H$2;$H$3) |
−1.5 |
| A3 | 4 | =STANDARDIZE(A3;$H$2;$H$3) |
−0.5 |
| A4 | 4 | =STANDARDIZE(A4;$H$2;$H$3) |
−0.5 |
| A5 | 4 | =STANDARDIZE(A5;$H$2;$H$3) |
−0.5 |
| A6 | 5 | =STANDARDIZE(A6;$H$2;$H$3) |
0 |
| A7 | 5 | =STANDARDIZE(A7;$H$2;$H$3) |
0 |
| A8 | 7 | =STANDARDIZE(A8;$H$2;$H$3) |
1 |
| A9 | 9 | =STANDARDIZE(A9;$H$2;$H$3) |
2 |
Additional independent checks, entered outside those ranges:
| Cell | Formula | Independently expected result | Interpretation |
|---|---|---|---|
| L2 | =AVERAGE(J2:J9) |
0 | The full population of transformed numeric observations centers on zero. |
| L3 | =STDEVP(J2:J9) |
1 | Its population standard deviation is one. |
| L4 | =STANDARDIZE(4;3;7) |
0.142857142857 | Official KDE example to more decimals. |
| L5 | =STANDARDIZE(50;50;10) |
0 | At the stated mean. |
| L6 | =STANDARDIZE(40;50;10) |
−1 | One standard deviation below mean. |
| L7 | =STANDARDIZE(70;50;10) |
2 | Two standard deviations above mean. |
| L8 | =STANDARDIZE(-2;5;2) |
−3.5 | Illustrative signed input. |
| L9 | =(A2-H2)/H3 |
−1.5 | Independent formula checking STANDARDIZE’s arithmetic. |
| L10 | =STANDARDIZE(A2;H2;H4) |
−1.403121520040 | Different denominator: sample SD instead. |
The L8 formula illustrates that negative numeric observations are permitted when the third argument is positive. [I1]
Advanced use 1 — choose sample or population normalization deliberately
The same observation can have different valid standardized values depending on which standard deviation describes your reference distribution. In this exact dataset, using STDEVP(A2:A9) gives −1.5 for the first observation; using STDEV(A2:A9) gives about −1.403121520040. Neither is universally “correct”; document whether eight numbers form your entire population or are a sample and choose the estimator accordingly. [I1]
To create a sample-SD z-score column, use =STANDARDIZE(A2;$H$2;$H$4) in K2 and fill through K9; do not mix the K and J values in a single analysis. STDEV and STDEVP are different registered functions and have distinct denominators for a nonconstant dataset. [K1, I1]
Advanced use 2 — compare differently scaled processes
Suppose two measurement processes report different units. Enter B2 = 110, B3 = 100, B4 = 5 for a value, mean and standard deviation of the first process, then C2 = 1.1, C3 = 1.0, C4 = 0.05 for a rescaled process. Enter =STANDARDIZE(B2;B3;B4) in B6 → 2 and =STANDARDIZE(C2;C3;C4) in C6 → 2. Both readings lie two of their respective standard deviations above their stated means. [I1]
This demonstrates scale invariance when mean and standard deviation are converted consistently. Do not use it as a proof that the two processes have equal quality, identical distributions, or comparable clinical significance.
Advanced use 3 — optional guard for an unknown SD
When the denominator comes from a user-maintained cell such as G3, a formula can guard before invoking the standardization step:
=IF(G3>0;STANDARDIZE(G2;G4;G3);"Review SD")
Here G2 holds the observation, G4 the mean, and G3 the positive standard deviation. The guard logic is recommended mathematically, but nested IF evaluation order and text/Boolean coercion were not separately native-tested in this run. If your sheet uses different locale separators, adapt only after checking that local installation. [K3, I1]
Errors, domain limits, and reproducibility
| Case | What is established | Action / remaining test |
|---|---|---|
stdev = 0 |
Pinned func_standardize explicitly returns Value::errorVALUE() internally if s is not greater than zero. |
Do not claim an exact visible error label; native test required. [K3] |
Negative stdev |
The same nonpositive guard rejects it. A negative “standard deviation” is invalid mathematically. | Enter =STANDARDIZE(4;3;-7) in native test. [K3] |
| Missing, extra or swapped arguments | Registration enforces three arguments; swapping mean and SD can silently give a plausible but wrong number. | Count arguments and compare with (x−mean)/SD. [K2] |
| Numeric precision | The worked results are rounded for display; full floating-point precision can differ at the last digit. | Format output to 6+ decimals, cross-check arithmetic. [I1] |
| Zero spread in input range | STDEVP returns zero mathematically for constant numbers, so cannot be a valid STANDARDIZE divisor. |
Check source data variability. [I1] |
| Blank/text/error-valued references | General conversion and formula evaluation govern these cases; the wrapper’s positive-SD test alone does not settle displayed errors. | Native input-type matrix required. [K3] |
| Locale or platform differences | English examples use semicolons; platform download guidance is not a runtime formula test. | Check installed version, language, module, and delimiter. [K1, K5] |
| Using an unrelated reference population | A legitimate z-score can still be misleading if the mean/SD do not describe the intended comparison group. | Label your population and estimator in the worksheet. |
Not performed: native Sheets evaluation of any test, localized decimal/argument separators, import/export round-trip, high-precision benchmarks or screenshots. A source-level error value cannot be converted into an asserted UI #VALUE! or #NUM! message without observing the app.
Release, platform, and Excel compatibility
Official 26.08.2 code specifically implements a three-argument STANDARDIZE with the (x−mean)/s expression and an internal error for s≤0; the handbook’s mixed punctuation must be treated as a documentation discrepancy rather than a tested parser feature. [K1–K4]
Microsoft Excel also documents a STANDARDIZE function and says Excel returns a #NUM! error if its third argument is nonpositive. That is Excel-specific evidence and does not prove the exact Calligra-visible error, name preservation in XLSX/ODS, or locale compatibility. The numeric-only example arithmetic is comparable. [M1, K3]
Pinned target: Calligra 26.08.2, associated with KDE Gear’s October 8, 2026 announcement; source commit 72123cc643f6625351139e7df294544255a1056f. Calligra primarily describes Linux packages and Flatpak, with Windows under development. No native function runtime was observed on any platform. [K2, K5]
Related official documentation
Official KDE references checked 2026-10-13: AVERAGE — arithmetic mean, STDEV — sample SD, STDEVP — population SD, VAR — sample variance, VARP — population variance, COUNT and STANDARDIZE.
Claim-level references — reviewed 2026-10-13
- [K1] KDE Sheets handbook, meaning, old mixed punctuation, three argument descriptions, documented 4/3/7 example: https://docs.kde.org/stable_kf6/en/calligra/sheets/functions.html#STANDARDIZE.
- [K2] Pinned registration, three required formula arguments, single return: https://github.com/KDE/calligra/blob/72123cc643f6625351139e7df294544255a1056f/sheets/functions/statistical.cpp#L326-L333.
- [K3] Pinned implementation, explicit nonpositive SD error test and
(x−m)/s: https://github.com/KDE/calligra/blob/72123cc643f6625351139e7df294544255a1056f/sheets/functions/statistical.cpp#L2522-L2540. - [K4] Pinned KDE XML, help syntax and example punctuation inconsistency: https://github.com/KDE/calligra/blob/72123cc643f6625351139e7df294544255a1056f/sheets/functions/statistical.xml.
- [K5] Official release/platform, 2026-10-08 announcement and current download statements: https://kde.org/announcements/gear/26.08.2/ · https://calligra.org/download/.
- [M1] Microsoft Excel STANDARDIZE, Excel-specific function semantics/errors: https://support.microsoft.com/en-us/excel/functions/standardize-function.
- [I1] Independent arithmetic, 2026-10-13: checked by direct
(x−m)/sand Pythonstatistics.mean/pstdev/stdev; no native application run.