Contact

CURRENT Function (LibreOffice Calc)

Mathematics Intermediate LibreOffice Calc Introduction not established

The CURRENT function returns the value of the current cell during iterative or array calculations. It is used in circular references, iterative models, and formulas that depend on the cell’s previous value.

Verification status: Consult the documentation, examples and any stated test scope below. How formula examples are checked

Availability and version history

  • Introduced: Documented by LibreOffice 26.8.1.1; original introduction not established.
  • 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.
The **CURRENT** function returns the **current value of the cell** during an iterative calculation. It is used in circular references, running totals, iterative models, and formulas that depend on the cell’s previous value.

What the CURRENT Function Does

  • Returns the current value of the cell during recalculation
  • Enables iterative formulas
  • Supports circular references when iteration is enabled
  • Useful for running totals, smoothing formulas, and feedback models

Syntax

CURRENT()

Arguments

  • None.

Basic Examples

Running total with iteration enabled

=CURRENT() + A1

Each recalculation adds the new A1 value to the previous total.

Exponential smoothing

=0.8 * CURRENT() + 0.2 * A1

Increment a counter

=CURRENT() + 1

Accumulate values from a column

=CURRENT() + SUM(A1:A10)

Advanced Examples

Simulate decay or growth

=CURRENT() * (1 + rate)

Feedback loop modeling

=CURRENT() + (target - CURRENT()) * 0.1

Rolling average with memory

=(CURRENT() * 4 + A1) / 5

Custom iterative solver

=CURRENT() - (f(CURRENT()) / f_prime(CURRENT()))

Monte‑Carlo accumulation

=CURRENT() + RAND()

Edge Cases and Behavior Details

CURRENT returns the cell’s own value during iteration

Behavior details

  • Only meaningful when Tools → Options → Calc → Calculate → Iterative References is enabled
  • Without iteration enabled, CURRENT() simply returns 0
  • Used only inside formulas that reference the same cell
  • Does not accept arguments
  • Errors propagate

CURRENT is not volatile

It recalculates only when the cell is recalculated.

CURRENT cannot reference other cells

It always refers to the cell it is in.

Common Errors and Fixes

CURRENT() returns 0

Cause:

  • Iterative references are disabled

Fix:

  • Enable: Tools → Options → LibreOffice Calc → Calculate → Iterative References

Formula does not update

Cause:

  • No circular reference created
  • No dependency chain

Fix:

  • Ensure the formula references itself directly or indirectly

Infinite growth or divergence

Cause:

  • Feedback loop not stable

Fix:

  • Adjust coefficients
  • Use damping factors

Best Practices

  • Use CURRENT only when you intentionally want iterative behavior
  • Always enable iteration before using it
  • Use damping (e.g., 0.9 * CURRENT()) to prevent runaway values
  • Document iterative formulas clearly
  • Avoid mixing CURRENT with volatile functions like RAND() unless modeling randomness
CURRENT is one of Calc’s hidden power tools — it lets you build iterative models, feedback loops, and running totals without macros or scripts.
  • OFFSET / INDIRECT — dynamic references
  • FORMULA() — return formula text
  • Circular references — iterative modeling
  • Manual iteration — using helper cells

By mastering CURRENT, you can build dynamic, iterative, and self‑referential models in LibreOffice Calc.