SKEWP Function (LibreOffice Calc)
Learn the SKEWP function in LibreOffice Calc: Returns the skewness of a distribution using the population of a random variable.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Availability and version history
- Introduced: LibreOffice 4.1.
- Availability: Supported in LibreOffice 26.8.1.1, verified against its function registry. This identifies a supported release, not a final working version.
- Scope: Desktop Calc, using the English function name. Availability in other spreadsheet applications is separate.
- Checked: 2026-10-14 — function reference; versioned support. Documentation/source check; not a new native test. Existing example-specific test claims below retain their stated scope.
Historical validation scope: Native observations refer to saved LibreOffice Calc 25.2.3.2 Linux evidence dated 13 October 2026 at 09:07 UTC. Both saved conversion logs report success and all 89 final CSV/JSON results agree. However, 86 intermediate-workbook cells still contain #NAME? rather than the final reported value or error; no final recalculated workbook was preserved. This review independently recalculated 55 normal numeric cases and three worked checks. Historical diagnostics below are reported final CSV results, not independently confirmed cross-artifact execution. Calc was not rerun.
What does SKEWP calculate?
SKEWP measures population skewness: whether a complete numerical distribution tends to have a longer right tail (positive skewness), a longer left tail (negative skewness), or reasonably balanced tails (approximately zero). The return value has no units. It is useful for summarizing a full population of observations—for example, an entire measured production lot, all completed transactions for one defined period, or the complete set of processing times for one machine during a shift.
In Calc, SKEWP is different from SKEW. SKEWP uses population central moments; SKEW applies a sample-skewness correction. If you have only a sample and wish to describe skewness in the population from which it was drawn, do not substitute SKEWP without considering the sampling interpretation. A skewness of zero does not prove that every part of the distribution is symmetric, normal or free of outliers. The sign and magnitude depend on the data, and near-zero numbers may conceal important distribution details. LibreOffice SKEWP Help (accessed 2026-10-13); OpenFormula 1.3 §6.18.68 SKEWP (2020, accessed 2026-10-13).
Exact LibreOffice Calc syntax
=SKEWP(Argument1 [; Argument2 [; … [; Argument255]]])
| Input | Required? | Accepted meaning | Default |
|---|---|---|---|
Argument1 |
Yes | One number, expression or cell/range reference containing population observations | None |
Argument2 … Argument255 |
Optional | Further numeric observations or ranges; can combine references and numeric arguments | Omitted |
The function accepts up to 255 arguments according to current LibreOffice Help; the combined input must provide at least three numeric observations for a meaningful calculation. You can pass a whole column segment such as A2:A100 as a single argument—the number of cells is not the same as the number of function arguments. Do not interpret Argument255 as a limit of 255 values in a referenced range. Empty cells and text inside a reference are omitted rather than counted as observations in the official documented behavior. The actual response to Booleans or direct text arguments can differ; see the test results below. LibreOffice SKEWP Help (accessed 2026-10-13).
Locale: These examples use English function names and the standard semicolon ; Calc argument delimiter in en-US Help. A localized Calc installation can use translated function names and a different decimal separator, depending on its language and formula settings. Type 1.5 as a numeric value for the example locale; in a comma-decimal locale, adapt the decimal character. Inserting SKEWP via Insert → Function avoids guessing translated spellings.
Reproduce the official six-value example
Open a blank Calc worksheet. Enter one number per cell, with no quotation marks:
| Cell | Value |
|---|---|
| A1 | 2 |
| A2 | 3 |
| A3 | 1 |
| A4 | 6 |
| A5 | 8 |
| A6 | 5 |
In B2 enter:
=SKEWP(A1:A6)
Independently checked result matching the final CSV: approximately 0.232998556249625 (usually shown as 0.232999 with six decimal places). The direct-arguments form produces the same result:
=SKEWP(2;3;1;6;8;5)
The LibreOffice Help page prints an example rounded to 0.2329985562. Independent Python computation from the six values yielded 0.2329985562496247, and headless Calc 25.2.3.2 recalculated the number as 0.232998556249625. The official number, independent calculation, and native result thus agree within ordinary floating-point presentation differences. Official example (accessed 2026-10-13).
How to interpret that result
The positive sign means the third standardized central moment is positive. It does not mean that 23.3% of observations lie to one side of the mean, and it is not a probability. The value is dimensionless: a dataset expressed in milliseconds instead of seconds produces the same skewness if all data are scaled by a common positive multiplier. Likewise, adding a constant to every observation leaves the central shape unchanged.
Practical examples with checked results
Each row below matches the final saved CSV attributed to Calc 25.2.3.2 and an independent population-moment calculation. Copy the data values across any contiguous row or vertically into one column; use =SKEWP(the_range) on that range.
| Population values | Range formula example | Independently checked result (rounded) | Interpretation |
|---|---|---|---|
1, 2, 3 |
=SKEWP(A1:A3) |
0 |
Balanced three-point distribution |
1, 2, 3, 4, 5 |
=SKEWP(A1:A5) |
0 |
Symmetric five-point set |
1, 2, 3, 4, 9 |
=SKEWP(A1:A5) |
1.03918892237042 |
Right tail caused by 9 |
-9, -4, -3, -2, -1 |
=SKEWP(A1:A5) |
-1.03918892237042 |
Left-tail counterpart |
2, 2, 2, 5, 20 |
=SKEWP(A1:A5) |
1.40351415635009 |
Strong influence from 20 |
1, 1, 4 |
=SKEWP(A1:A3) |
0.707106781186547 |
Three-point right tail |
-4, -1, -1 |
=SKEWP(A1:A3) |
-0.707106781186547 |
Three-point left tail |
0, 0, 0, 1, 3 |
=SKEWP(A1:A5) |
1.15004933566153 |
Repeated zeros still count |
0.1, 0.2, 0.4, 0.6, 1.7 |
=SKEWP(A1:A5) |
1.18559381404173 |
Decimal-valued observations |
1, 1, 2, 2, 3, 4, 5, 5, 10, 20 |
=SKEWP(A1:A10) |
1.80983836005059 |
Longer right tail |
How to reproduce the table: Start a new sheet for each row, fill its values into A1:A<n> (or replace them), and enter the indicated formula in B1. These are ten different input datasets: do not paste the entire table into one continuous A range and expect the individual outcomes. To see all rows on one sheet, give every dataset its own column and point each SKEWP call at that column. Historical evidence is preserved as native_results.json and the intermediate .ods workbook and final CSV.
Population skewness formula, explained
For a numerical population containing N observations, let ÎĽ be its arithmetic mean. Then:
m2 = SUM((x_i - ÎĽ)^2) / N
m3 = SUM((x_i - ÎĽ)^3) / N
SKEWP = m3 / (m2^(3/2))
m2 is the population second central moment (the population variance), while m3 is the population third central moment. Dividing the third central moment by the population standard deviation cubed removes the original measurement units. This is the OpenFormula definition of the function. It is a mathematical independent explanation, not a claim that the internal Calc evaluator literally uses these cells or precisely this algorithm. For m2=0 (all observations equal), skewness is undefined; do not interpret a spreadsheet error as a genuine skewness of zero. OpenFormula 1.3 §6.18.68 (accessed 2026-10-13).
Independent verification in an ordinary Calc grid
Using the six-value example in A1:A6, put the following in separate cells:
| Cell | Enter | Meaning |
|---|---|---|
| B1 | =AVERAGE(A1:A6) |
Population mean (4.166666…) |
| B2 | =COUNT(A1:A6) |
Number of numeric observations (6) |
| C1 | =A1-$B$1 |
First deviation from the mean |
| D1 | =C1^2 |
Squared deviation |
| E1 | =C1^3 |
Cubed deviation |
| B3 | =SUM(D1:D6)/B2 |
Second population central moment |
| B4 | =SUM(E1:E6)/B2 |
Third population central moment |
| B5 | =B4/B3^(3/2) |
Independent skewness calculation |
| B6 | =SKEWP(A1:A6) |
Built-in population skewness |
Fill C1:E1 down through row 6 before evaluating B3:B6. With correctly filled formulas, B5 and B6 agree to floating-point precision. This grid is supplied as a reproducible mathematical recipe; the 55-case native test suite verified the built-in SKEWP examples, not this complete manual helper-column arrangement. The independent Python moment calculation was executed separately. Functions AVERAGE, COUNT, and STDEVP can help audit what values are present and their spread.
Advanced uses: complete populations and sensitivity
Manufacturing shifts. Enter the measured cycle times for every part produced during a completed shift in A2:A101; calculate =SKEWP(A2:A101) and AVERAGE or MEDIAN alongside it. Large positive skewness can indicate occasional very slow cycles, but the chart and raw distribution should be checked before deciding why. If the sheet captures only selected units, treat the calculation as a descriptive sample skewness, not automatically as your best population estimator.
Make units consistent before joining populations. Combining milliseconds, seconds and hours in one range creates spurious skewness. Convert everything to one numeric unit first, and exclude blanks or text placeholders deliberately rather than trusting them to be ignored.
Prove translation invariance. The verified data 1,2,3,4,9, 10,20,30,40,90 and 101,102,103,104,109 all returned 1.03918892237042 in the native test suite. The first-to-second transformation multiplies each value by 10; the first-to-third adds 100. Both operations preserve population skewness under this mathematical definition (positive scale factors only).
Compare shape, not scale. Two processes may have similar averages while one has a large positive skewness. Compare population skewness with sample size and the median, variability and a visual distribution. The magnitude is sensitive to extreme values and is unstable with extremely small or nearly constant populations.
Errors, data types, and troubleshooting
| Symptom / formula | Official requirement or native finding | Better approach |
|---|---|---|
=SKEWP(1;4) |
With two numeric observations, Calc 25.2.3.2 showed #DIV/0!; Help requires at least three |
Gather three or more numeric values before interpreting a result |
=SKEWP(3;3;3;3) |
The final saved report for Calc 25.2.3.2 lists Err:502; variance is zero |
Check for a constant population; report “not defined” rather than zero |
A text cell such as "missing" within the referenced range |
Official Help says text/blank cells in ranges are ignored | Audit omitted observations and the effective COUNT |
A text cell containing digits ("7") inside a range |
In the final saved report it was also ignored, even though it resembles a number | Convert source data to real numbers, e.g. with VALUE after validating the import |
| TRUE or FALSE in a referenced cell | In Calc 25.2.3.2 these Boolean cells affected the result; official Help does not explain that case | Remove/convert Booleans intentionally before relying on skewness |
=SKEWP(1;2;3;"bad") or =SKEWP("3";4;5;6) |
In the final saved report a direct text argument yielded Err:504 |
Use actual numeric inputs, not quoted text |
| Three-or-more almost identical measurements | Mathematically ill-conditioned when spread is tiny | Inspect precision and input units before interpreting a large/small result |
#NAME? |
May indicate wrong spelling, localization, version or formula-prefix import | Use Function Wizard; SKEWP is documented since LibreOffice 4.1 |
Reported diagnostic examples (not guaranteed across releases)
With five cells containing the values 1, 2, text missing, 5, 9, the final saved report lists about 0.513023958460306. Replacing the text cell with a genuine blank, or with numeric-looking text "7", left that result unchanged. Replacing it with Boolean TRUE produced about 0.834091666961889, whereas Boolean FALSE produced about 0.713638870317840. These observations are reported separately from the 28 verified SKEWP numeric assertions; they do not establish an ODF-wide Boolean coercion guarantee. The contrast is a reason to validate imported columns.
When troubleshooting unexpected skewness, first check =COUNT(A1:A100), then MIN, MAX, AVERAGE and a chart/histogram. Any non-numeric placeholder can silently change the analyzed population, and even correctly calculated skewness does not identify which observations caused a tail.
Compatibility and scope
| Area | Evidence-supported statement |
|---|---|
| LibreOffice versions | Official Help says SKEWP has existed since 4.1; the saved conversion records identify 25.2.3.2, not 26.8 runtime |
| Current LibreOffice Help | The 26.8 online Help identifies 255 possible arguments, requires at least three numeric observations and describes omission of text/blanks in referenced ranges |
| OpenDocument | Official Help marks SKEWP as included in ODF 1.2; OpenFormula 1.3 defines the population-moment function under SKEWP |
| ODF function name | SKEWP is the OpenFormula name; this is not an instruction to prepend COM.MICROSOFT. or invent a proprietary prefix |
| Excel and Google Sheets | No native execution or round-trip of SKEWP was performed in either program in this review. Similar function names are not evidence of identical import/export behavior |
| Localized installations | English function names, semicolons, and decimal points in these examples reflect the documented/verified English-style setup; display/settings may differ |
There is no special SKEWP worksheet syntax distinct from the normal Calc function formula. No optional population flag exists: use the correctly named function for the appropriate statistical estimator.
Related functions and pages
- AVERAGE — population mean used in the skewness formula.
- STDEVP — population standard deviation used in the denominator.
- COUNT — audit the number of numeric data points.
- MEDIAN — compare a robust center with mean and skewness.
- MIN and MAX — find extremes that can influence skewness.
SKEW is the corresponding sample-skewness function.
Verification record and official references
What the saved historical records report: A purpose-built XLSX fixture with 28 numerical SKEWP cases and 16 additional diagnostic cases was imported and recalculated by LibreOffice 25.2.3.2 (Linux, isolated profile). The recalculated ODS file was exported to CSV, then values compared against independently calculated Python population central moments. 28/28 numerical assertions matched; the 16 diagnostics record observed values/errors and are not counted as numerical assertion passes. Not every possible input has been tested.
Official claim-level references (all links inspected 2026-10-13):
- LibreOffice 26.8 Calc Help — SKEWP: name, first-available release, 255-argument syntax, example, three-value minimum, and text/blank treatment.
- OASIS OpenDocument v1.3, Part 4 — OpenFormula §6.18.68 SKEWP: normative population central-moment interpretation, name and argument/data-model constraints (committee specification dated 2020-10-30).