On 8/26/07, Bernt Hansen <[EMAIL PROTECTED]> wrote:
> In the following table I'd like to vertically sum the column and the
> compute a new value based on that sum.
>
> |---+---+---+---+-------+---------|
> |   | A | B | C | Total | Details |
> |---+---+---+---+-------+---------|
> | # | 1 | 2 | 4 |     7 | Item 1  |
> | # | 2 | 6 | 4 |    12 | Item 2  |
> | # | 2 | 4 | 4 |    10 | Item 3  |
> | # | 2 | 6 | 3 |    11 | Item 4  |
> |---+---+---+---+-------+---------|
> | # |   |   |   |    40 | 400.00  |
> | ^ |   |   |   |   tot | result  |
> | $ |   |   |   |       | kval=10 |
> |---+---+---+---+-------+---------|
> #+TBLFM: $5=$2+$3+$4::$tot=vsum(@[EMAIL PROTECTED])::$result=$tot*$kval;%.2f
>
> If I edit any of the values in columns A, B, C and do C-u C-c C-c then
> the total (tot) value is recalculated but result is not.  Doing C-u C-c
> C-c a second time recalculates result based on the new tot value.
>
> Is there a way to do this in a single table recalculation?
>
> Thanks,
> Bernt

I have this in some of my tables.  Right now I just live with it.  The
problem is you can't really have computed value dependent on other
computed values.  Either you can do I like I do when I feel lazy and
recalculate until things stabilize or you can rewrite your formulas to
not depend on other computed values.  So in the case of tot, use tot =
vsum(@[EMAIL PROTECTED]) or something like that.  (I don't have calc so I
can't test this.)

For now, I wish the table editor would highlight calculated cells or
do something to let you know when you are calculating one field using
another calculated field.  I've been telling myself that I'm going to
dig into the formula evaluator and see if I can't get it to inline
formulas from other referenced cells so it will 'do the right thing'.
I'm sure it not trivial and for now there is a work around.

Edd


_______________________________________________
Emacs-orgmode mailing list
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

Reply via email to