emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] Table calculation question


From: Carsten Dominik
Subject: Re: [Orgmode] Table calculation question
Date: Mon, 27 Aug 2007 04:25:52 +0200


On Aug 26, 2007, at 21:39, Bernt Hansen 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?

`C-u C-u C-c C-c' iterates a table until it is stable and in this way
takes care of formulas depending on calculated fields.

If you want to do this all the time you can do something like

(add-hook 'org-mode-hook
  (lambda () (local-set-key [f5]
(lambda () (interactive) (org-table-recalculate '(16))))))

- Carsten





reply via email to

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