{
  "category": "Statistical functions",
  "display_name": "AVERAGEA",
  "entry_kind": "built_in_function",
  "eval_api": {
    "method": "POST",
    "url": "https://handbook.dnacalc.com/api/eval"
  },
  "function_id": "FUNC.AVERAGEA",
  "implementation_state": {
    "answer_bank": {
      "excel_builds": [
        "20430"
      ],
      "larger_numeric": 0,
      "last_bit": 0,
      "matched": 1212,
      "other_mismatch": 0,
      "refused": 0,
      "rows": 1212,
      "unread": 0,
      "worst_ulp": 0
    },
    "detail": "Recorded: 1,212 in the answer bank and 20 workbook cells.",
    "dnacalc_commit": "9e1884369a678158dd82d3d74188daf986995e87",
    "in_catalogue": true,
    "state": "matches",
    "state_label": "Matches every recorded Excel answer",
    "summary": "Matches all 1,232 recorded answers",
    "workbook_corpus": {
      "cells": 20,
      "matched": 20
    }
  },
  "implementations": [
    {
      "commit": "9e1884369a678158dd82d3d74188daf986995e87",
      "flavour": "excel-compatibility-candidate",
      "language": "Rust",
      "name": "CalcFunc",
      "own_code": [
        "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/aggregate.rs#L112-L112",
        "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/aggregate.rs#L216-L222"
      ],
      "repository": "https://github.com/DnaCalc/DnaCalc",
      "shared_code": [
        "catalogue/aggregate::aggregate",
        "catalogue/aggregate::mean",
        "catalogue/aggregate::holds_held_arrays",
        "catalogue/aggregate::read_held_references",
        "catalogue/aggregate::number_of",
        "catalogue/aggregate::each_number",
        "catalogue/aggregate::read_values",
        "catalogue/aggregate::reader",
        "catalogue/aggregate::read_reference"
      ],
      "source": "https://github.com/DnaCalc/DnaCalc/blob/9e1884369a678158dd82d3d74188daf986995e87/crates/calc-func/src/catalogue/aggregate.rs#L112-L112",
      "state": "matches",
      "suite": null,
      "summary": "Matches all 1,232 recorded answers"
    }
  ],
  "json_url": "https://handbook.dnacalc.com/api/functions/FUNC.AVERAGEA.json",
  "name": "AVERAGEA",
  "notes": [],
  "schema": "efh.function-reference/v1",
  "section_order": [
    "what-it-does",
    "try-it",
    "quirks",
    "how-to-implement",
    "version-differences",
    "alternatives"
  ],
  "sections": {
    "alternatives": "\n### Relationships\n\n- **`COUNT` / `COUNTA`** — the same widening, applied to counting. `AVERAGEA`'s denominator is\n  closer to `COUNTA` than to `COUNT`, which is a useful way to remember it.\n- **Confused with**: `AVERAGEIF` with a criterion excluding text. That is a different function\n  answering the `AVERAGE` question with extra selection, not the `AVERAGEA` question.\n\n\n",
    "how-to-implement": "\n### Numerical notes\n\n\nThe floating-point analysis is exactly that of [AVERAGE](FUNC.AVERAGE.md#numerical-notes) —\nsequential summation, a condition number of \\(\\sum|v_i| / |\\sum v_i|\\), and one final division —\nwith one addition that is specific to this surface.\n\nThe logicals are exact too (1.0 and 0.0 are exactly representable). The only inexactness on\nthis surface is the same summation and division that `AVERAGE` has.\n\n",
    "quirks": "\n### Values included by AVERAGE and AVERAGEA\n\n\n| Value | `AVERAGE`, direct | `AVERAGE`, in range | `AVERAGEA`, direct | `AVERAGEA`, in range |\n|---|---|---|---|---|\n| Number | counted | counted | counted | counted |\n| Numeric text `\"2\"` | converted | skipped | converted | **counted as 0** |\n| Non-numeric text `\"x\"` | `#VALUE!` | skipped | `#VALUE!` | **counted as 0** |\n| Empty string `\"\"` | `#VALUE!` | skipped | `#VALUE!` | **counted as 0** |\n| `TRUE` / `FALSE` | 1 / 0 | skipped | 1 / 0 | **1 / 0** |\n| Empty cell | — | skipped | — | skipped |\n| Error | propagates | propagates | propagates | propagates |\n\nTwo rows repay attention.\n\n**Numeric-looking text in a range counts as 0, not as its numeric value.** The reference\nengine's `averagea_argument_value` helper converts text only when it arrived as a direct scalar\nargument; text reaching it from a reference returns `0.0` without any conversion attempt. So a\nrange cell holding the *text* `\"2\"` contributes zero, while the same `\"2\"` typed into the\nformula contributes two. This is the sharpest edge on the function and the one that turns an\nimported CSV — where numbers often arrive as text — into a silently deflated average.\n\n\n### Result and edge cases\n\n\nReturns `Number`.\n\n- **A range of only text.** Under `AVERAGE` this is `#DIV/0!` (nothing admitted); under\n  `AVERAGEA` it is `0` (everything admitted, all as zero). The two functions differ between an\n  error and a number on the same input, which makes this the best single discriminating probe.\n- **`TRUE` cells.** They contribute 1, which is almost never what a reader intends and is the\n  second most common source of a wrong `AVERAGEA`.\n- **Arrays.** The surface lifts natively (`lift_broadcast_profile: surface_native`) and consumes\n  arrays as a reduction.\n- **Very large / very small magnitudes, negative values, non-integers.** Ordinary; no domain\n  guard is recorded on this surface (`arg_domain_guard=none`, `non_finite=allow`).\n\n\n\n### Errors\n\n| Error | Condition |\n|---|---|\n| `#DIV/0!` | No value was admitted |\n| `#VALUE!` | A **directly-supplied** text argument could not be converted to a number |\n| propagated | An error value among the admitted data becomes the result |\n\n",
    "sources": "- Microsoft, \"AVERAGEA function\" —\n  <https://support.microsoft.com/en-us/office/averagea-function-f5f84098-d453-4f4c-bbba-3d2c66356091>\n  (the one-line description; the `value1, value2, …` argument text and 1-to-255 limit; the\n  admissible-argument list; the directly-typed-values-are-counted rule; TRUE-as-1 and\n  FALSE-as-0; the array-or-reference-text-evaluates-as-0 and empty-text rules; the\n  contradicting \"text values … are ignored\" bullet; the error-causing-arguments sentence; and\n  the pointer to `AVERAGE`).\n- Handbook, [AVERAGE](FUNC.AVERAGE.md) — the shared arithmetic and its error analysis.\n- Handbook, [The value universe](../model/01-value-universe.md) and\n  [Coercion and lifting](../model/02-coercion-and-lifting.md).\n- Handbook `CHARTER.md` sections 1, 3 and 7; `content/model/06-claim-language.md`.\n\n",
    "version-differences": "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.\n\n| Excel 16.0 build | Platform and CPU | Captured inputs |\n|---|---|---:|\n| 20430 | Windows, 64-bit, CPU not recorded | 1,212 |\n\nThe record contains no same-input comparison between these environments. Reading different inputs on different builds does not establish either a version change or cross-build agreement.\n\n[Recorded environments and comparison details](https://github.com/DnaCalc/ExcelFunctionsHandbook/blob/5dc75391aa5125ccc5abdb095da85950980d6fd8/content/evidence/environments/FUNC.AVERAGEA.json).",
    "what-it-does": "\n`AVERAGEA(value1, [value2], …)` returns the arithmetic mean\n\n    AVERAGEA = (1/n) · Σ_{i=1..n} v_i\n\nThe consequence is worth stating baldly, because it is the entire reason the function exists\nand the entire reason it surprises people: text does not merely join the sum as zero, it joins\nthe **count**. A column holding `10`, `20` and the word `\"n/a\"` averages to 15 under `AVERAGE`\nand to 10 under `AVERAGEA`. Neither result is a bug. `AVERAGEA` is answering \"what is the mean\nif every non-empty entry is worth something, and unusable entries are worth nothing\", which is\na legitimate question and a different one.\n\nRange: as with `AVERAGE`, the result of finite inputs lies between the smallest and largest\nadmitted value — where the admitted values now include the zeros contributed by text.\n\n\n\n### Arguments\n\n\n| Argument | Meaning | Default |\n|---|---|---|\n| `value1` | The first value, range or array. Required. | — |\n| `value2 …` | Further values, ranges or arrays. Optional, repeating. | — |\n\n"
  },
  "signature": {
    "display": "AVERAGEA(value1, [value2], ...)",
    "parameters": [
      {
        "description": null,
        "name": "value1",
        "optional": false,
        "repeats": false
      },
      {
        "description": null,
        "name": "value2",
        "optional": true,
        "repeats": true
      }
    ],
    "trailing_repeats": true
  },
  "sources": {
    "metadata": {
      "admission": {
        "label": "implemented",
        "reason": null
      },
      "arity": {
        "max": 255,
        "min": 1
      },
      "category": "Statistical functions",
      "classification": {
        "arg_preparation_profile": "ValuesOnlyPreAdapter",
        "coercion_lift_profile": "AggregateDirectAndRangeDualPolicy",
        "determinism_class": "Deterministic",
        "error_collapse_profile": "ReductionFold",
        "fec_dependency_profile": "None",
        "host_interaction_class": "None",
        "kernel_signature_class": "NumsToNum",
        "rich_value_usage": "RichBlind",
        "surface_fec_dependency_profile": "RefOnly",
        "thread_safety_class": "SafePure",
        "volatility_class": "NonVolatile"
      },
      "descriptions": {
        "long": null,
        "short": "Arithmetic mean that also counts text as 0 and logical values as 1 or 0",
        "short_source": "dna-calc-own"
      },
      "docs": {
        "english_description": "Returns the average of its arguments, including numbers, text, and logical values",
        "microsoft_url": "https://support.microsoft.com/en-us/office/averagea-function-f5f84098-d453-4f4c-bbba-3d2c66356091"
      },
      "entry_kind": "built_in_function",
      "localized_family_names": null,
      "localized_names": [
        {
          "locale": "ar-SA",
          "name": "AVERAGEA"
        },
        {
          "locale": "bg-BG",
          "name": "AVERAGEA"
        },
        {
          "locale": "cs-CZ",
          "name": "AVERAGEA"
        },
        {
          "locale": "da-DK",
          "name": "MIDDELV"
        },
        {
          "locale": "de-DE",
          "name": "AVERAGEA"
        },
        {
          "locale": "el-GR",
          "name": "AVERAGEA"
        },
        {
          "locale": "en-AU",
          "name": "AVERAGEA"
        },
        {
          "locale": "en-GB",
          "name": "AVERAGEA"
        },
        {
          "locale": "en-US",
          "name": "AVERAGEA"
        },
        {
          "locale": "es-ES",
          "name": "AVERAGEA"
        },
        {
          "locale": "et-EE",
          "name": "AVERAGEA"
        },
        {
          "locale": "fi-FI",
          "name": "KESKIARVOA"
        },
        {
          "locale": "fr-FR",
          "name": "AVERAGEA"
        },
        {
          "locale": "he-IL",
          "name": "AVERAGEA"
        },
        {
          "locale": "hr-HR",
          "name": "AVERAGEA"
        },
        {
          "locale": "hu-HU",
          "name": "ÁTLAGA"
        },
        {
          "locale": "id-ID",
          "name": "AVERAGEA"
        },
        {
          "locale": "it-IT",
          "name": "AVERAGEA"
        },
        {
          "locale": "ja-JP",
          "name": "AVERAGEA"
        },
        {
          "locale": "ko-KR",
          "name": "AVERAGEA"
        },
        {
          "locale": "lt-LT",
          "name": "AVERAGEA"
        },
        {
          "locale": "lv-LV",
          "name": "AVERAGEA"
        },
        {
          "locale": "nb-NO",
          "name": "GJENNOMSNITTA"
        },
        {
          "locale": "nl-NL",
          "name": "AVERAGEA"
        },
        {
          "locale": "pl-PL",
          "name": "ŚREDNIA.A"
        },
        {
          "locale": "pt-BR",
          "name": "MÉDIAA"
        },
        {
          "locale": "pt-PT",
          "name": "MÉDIAA"
        },
        {
          "locale": "ro-RO",
          "name": "AVERAGEA"
        },
        {
          "locale": "ru-RU",
          "name": "AVERAGEA"
        },
        {
          "locale": "sk-SK",
          "name": "AVERAGEA"
        },
        {
          "locale": "sl-SI",
          "name": "AVERAGEA"
        },
        {
          "locale": "sr-Latn-RS",
          "name": "AVERAGEA"
        },
        {
          "locale": "sv-SE",
          "name": "AVERAGEA"
        },
        {
          "locale": "th-TH",
          "name": "AVERAGEA"
        },
        {
          "locale": "tr-TR",
          "name": "ORTALAMAA işlevi"
        },
        {
          "locale": "uk-UA",
          "name": "AVERAGEA"
        },
        {
          "locale": "vi-VN",
          "name": "AVERAGEA"
        },
        {
          "locale": "zh-CN",
          "name": "AVERAGEA"
        },
        {
          "locale": "zh-HK",
          "name": "AVERAGEA"
        },
        {
          "locale": "zh-TW",
          "name": "AVERAGEA"
        }
      ],
      "signature": {
        "display": "AVERAGEA(value1, [value2], ...)",
        "parameters": [
          {
            "description": null,
            "name": "value1",
            "optional": false,
            "repeats": false
          },
          {
            "description": null,
            "name": "value2",
            "optional": true,
            "repeats": true
          }
        ],
        "trailing_repeats": true
      },
      "surface_name": "AVERAGEA",
      "version_marker": null,
      "xlcall": {
        "code": "361",
        "symbol": "xlfAveragea"
      }
    },
    "microsoft": "https://support.microsoft.com/en-us/office/averagea-function-f5f84098-d453-4f4c-bbba-3d2c66356091"
  },
  "try_it": {
    "formula": "=AVERAGEA({1;TRUE;3})"
  },
  "url": "https://handbook.dnacalc.com/functions/AVERAGEA.html",
  "variants": [],
  "versions": [
    {
      "behaviour": "1,212 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.",
      "excel_build": "16.0 build 20430",
      "platform": "Windows, 64-bit, CPU not recorded",
      "sources": [
        "https://github.com/DnaCalc/ExcelFunctionsHandbook/blob/5dc75391aa5125ccc5abdb095da85950980d6fd8/content/evidence/environments/FUNC.AVERAGEA.json"
      ]
    }
  ]
}