[ http://tools.oasis-open.org/issues/browse/OFFICE-3494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=22883#action_22883 ]
Andreas Guelzow commented on OFFICE-3494:
------------------------------------------
Hi Dennis,
I'll give a try explaining that example. I think it is easier to start with a slightly different example:
<table:content-validation
table:name="+C23=42"
table:base-cell-address="A1"
table:condition="is-true-formula([.A1]+[.C23]+[.$C$23]=42"
/>
First of all, what is the difference between [.C23] and [.$C$23]?
[.$C$23] is the absolute adddress of the cell in the 23rd row and 2nd column.
[.C23] on the other hand is a _relative_ adrress. That address is relative to the base-cell-address, in this case relative to A1. This means that [.C23] stands for the cell 2 columns to the right and 22 columns below the current cell.
So if we are in cell $A$1, [.A1]+[.C23]+[.$C$23] effectively means
[.$A$1]+[.$C$23]+[.$C$23]
If we are in cell $X$12, [.A1]+[.C23]+[.$C$23] effectively means
[.$X$12]+[.$Z$34]+[.$C$23]
And if we are in cell $BB$11, [.A1]+[.C23]+[.$C$23] effectively means
[.$BB$11]+[.$BD$33]+[.$C$23]
Now back to the original example:
<table:content-validation
table:name="+C23=42"
table:base-cell-address="A1"
table:condition="is-true-formula([.A1]+.[.$C$23]=42"
/>
If we are in cell $A$1, [.A1]+[.$C$23] effectively means
[.$A$1]+[.$C$23]
If we are in cell $X$12, [.A1]+[.$C$23] effectively means
[.$X$12]+[.$C$23]
And if we are in cell $BB$11, [.A1]+[.$C$23] effectively means
[.$BB$11]+[.$C$23]
So in all cases we are adding the value of the current cell and the content of cell $C$23.
> Part 2 6.13 Add CURRENTVALUE function
> -------------------------------------
>
> Key: OFFICE-3494
> URL: http://tools.oasis-open.org/issues/browse/OFFICE-3494
> Project: OASIS Open Document Format for Office Applications (OpenDocument) TC
> Issue Type: Sub-task
> Components: OpenFormula, Part 2 (Formulas)
> Affects Versions: ODF 1.2 CD 05
> Reporter: Dennis Hamilton
> Assignee: Dennis Hamilton
> Fix For: ODF 1.2 CD 06
>
>
> The CURRENTVALUE( ) function is an additional Information Function that provides access to the existing value in the context for which the OpenFormula formula is being evaluated.
> This function corresponds to the current-content( ) function defined in ODF 1.2 style:condition and table:condition attributes and it has the same purpose:
> Whenever the evaluation is in a context where there is a current value, that value is made available to the evaluation as the result of CURRENTVALUE( ). [Note: a current value need not be associated with a specific cell or even a table, depending on the context in which the evaluation is employed.]
> Whenever the current value is that of a table cell, that value is delivered in the same manner as if CURRENTVALUE( ) were a reference to that cell.
> CURRENTVALUE( ) is a special form of reference that delivers a value based on the context of evaluation.
> When there is no current value available, CURRENTVALUE( ) returns an error-type value. If the current value is an error-type value, that error is returned.
> Evaluation of CURRENTVALUE( ) shall not induce recalculation. It does not constitute a recursive reference of any kind.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira