CURRENT Function (LibreOffice Calc)
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.
Related Patterns and Alternatives
- 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.