How to Use the ERF and ERFC Functions in Google Sheets to Calculate the Gauss Error Function

In advanced probability, statistical modeling, diffusion physics, and machine learning, calculating the cumulative area beneath a Gaussian normal curve frequently requires evaluating non-elementary integrals. Because this integral cannot be expressed through standard algebraic combinations, mathematicians and engineers rely on the Gauss Error Function. Google Sheets provides two specialised functions to evaluate these equations directly inside your spreadsheets: ERF (the error function integrated between boundaries) and ERFC (the complementary error function).

Understanding the Gauss Error Function and Complement

The standard error function, denoted mathematically as $\text{erf}(x)$, represents the integral of the Gaussian bell curve from 0 to an upper boundary $x$:

erf(x) = (2 / SQRT(PI())) * INTEGRAL from 0 to x of e^(-t^2) dt

The complementary error function, $\text{erfc}(x)$, calculates the remaining tail probability extending from $x$ to infinity:

erfc(x) = 1 - erf(x)

While calculating 1 - ERF(x) works well for small positive numbers, when $x$ exceeds 3 or 4, ERF(x) approaches 0.9999999... so closely that standard floating-point arithmetic encounters catastrophic cancellation errors. ERFC uses dedicated asymptotic approximations to preserve numerical precision in extreme distributions and tail-risk calculations.

Syntax and Arguments for the ERF Function

In Google Sheets, the ERF function accepts either a single upper limit or a bounded interval between two numbers:

ERF(lower_bound, [upper_bound])

The parameters operate as follows:

  • lower_bound: Required. The lower limit of the integration interval. If upper_bound is omitted, Google Sheets integrates from 0 to this number.
  • upper_bound: Optional. The upper limit of the integration interval. If provided, Google Sheets calculates the integral between lower_bound and upper_bound.

Calculating Error Function Values in Google Sheets

To evaluate standard error function values, structure a clean parameter table:

  • Cell A2: 0.5
  • Cell A3: 1.0
  • Cell A4: 2.0

In cell B2, enter the basic error function formula:

=ERF(A2)

Drag the fill handle down through row 4. Google Sheets returns:

  • ERF(0.5) ≈ 0.5204998778
  • ERF(1.0) ≈ 0.8427007929
  • ERF(2.0) ≈ 0.9953222650

To compute the definite integral across a specific non-zero range, such as between 0.5 and 1.5, supply both arguments:

=ERF(0.5, 1.5)

Google Sheets calculates the area over that interval, returning approximately 0.4456647.

Syntax and Arguments for the ERFC Function

The complementary error function takes a single numerical argument:

ERFC(z)

Where z represents the lower limit of integration extending to positive infinity. It returns values strictly within the range $(0, 2]$.

For example, to evaluate the extreme tail probability at $x = 3.5$:

=ERFC(3.5)

Google Sheets outputs approximately 0.0000007431 (or 7.431E-07 in scientific notation), preserving significant digits without zero-rounding artifacts.

Connecting ERF to the Standard Normal Cumulative Distribution

The Gauss error function is intrinsically connected to the standard cumulative normal distribution $\Phi(z)$ used across quantitative finance and hypothesis testing. You can express $\Phi(z)$ in terms of ERF using the transformation:

Phi(z) = 0.5 * (1 + ERF(z / SQRT(2)))

To test this equivalence in Google Sheets against the native NORM.S.DIST function for a test z-score in cell A10 (e.g. 1.96):

=0.5 * (1 + ERF(A10 / SQRT(2)))
=NORM.S.DIST(A10, TRUE)

Both formulas yield identical statistical probabilities of 0.9750021, confirming the underlying mathematical relationship.

Handling Non-Numeric and Error Conditions

When implementing ERF and ERFC across dynamic worksheets:

  • #VALUE! Error: Occurs if non-numeric characters or text strings are passed to any parameter. Wrap input cells with ISNUMBER() or use VALUE() if parsing raw text imports.
  • Negative Values: ERF(-x) = -ERF(x) because the error function is symmetric and odd. ERFC(-x) = 2 - ERFC(x). Negative inputs are mathematically valid and produce accurate signs.
  • Array Formulas: To compute values over an entire column range without dragging formulas manually, wrap the expression in ARRAYFORMULA:
=ARRAYFORMULA(IF(A2:A="", "", ERF(A2:A)))

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.