Hello,

referring to the solution which has been presented to you:

`=RANDBETWEEN(1;7)+(CURRENT()>=A2)`

(in question Error 502 produced inconsistently with Randbetween/Choose nested function)

If you enter that formula into a cell, the following happens:

- Formula is read / evaluated from left to right
- It evaluates
`=RANDBETWEEN(1;7)`

(and the result is stored in some internal variable/register)
- Now a plus
`+`

operation appears, indicating that something should be added to the **current** value (and here is the buzzword and why the function is named the way it is named)
- Function
`CURRENT()`

provides access to the stored value of `=RANDBETWEEN(1;7)`

in step above and in fact `(CURRENT()>=A2)`

evaluates

either `TRUE`

(`1`

), if the condition is fulfilled (i.e. condition `=RANDBETWEEN(1;7)>=A2`

is fulfilled) and essentially calculates `=RANDBETWEEN(1;7) + 1`

,

or `FALSE`

(`0`

), if the condition is **not** fulfilled (i.e. condition `=RANDBETWEEN(1;7)>=A2`

is **not** fulfilled) and essentially calculates `=RANDBETWEEN(1;7) + 0`

.

**Very briefly:** Function `CURRENT()`

returns the current value of a cell evaluation as it is just before `CURRENT()`

is being called (very simple case: `1+CURRENT()`

yields `2`

).

**Ref.:** LibreOffice Help - CURRENT (which indeed is a bit a twisted explanation, but the examples are quite clear)

Hope that explains, what’s going on.