emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] Table calculation question


From: Eddward DeVilla
Subject: Re: [Orgmode] Table calculation question
Date: Sun, 26 Aug 2007 20:44:32 -0500

On 8/26/07, Bernt Hansen <address@hidden> 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(@address@hidden)::$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(@address@hidden) 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]