On 9/6/10 3:38 PM, Inquisitive Scientist wrote:
2. How do I compute the sum of a column only if a corresponding row
matches some condition? For example, how do I compute the sum of
numbers in column a for which the name in column "name" is "bar"? For
example, I should get 7 for the sum in column a in the table below:
| name | a | b | c |
|------+---+---+---|
| foo | 1 | 2 | 3 |
| bar | 3 | 2 | 1 |
| bar | 4 | 5 | 6 |
|------+---+---+---|
Here's one way: Add a new row after the first, as below. Then run C-c
C-c on the formula line:
| name | | a | b | c |
|------+---+---+---+---|
| foo | | 1 | 2 | 3 |
| bar | | 3 | 2 | 1 |
| bar | | 4 | 5 | 6 |
|------+---+---+---+---|
| | | | | |
#+TBLFM: $2='(if (string= $1 "bar") 1 0)::
@5$3=vsum(vmask(@i$...@ii$2,@i...@ii))
It does exactly what you asked, but I don't think it will scale well...
Cheers,
Christian
Thanks,
-I.S.
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
--
Christian Moe
E-mail: m...@christianmoe.com
Website: http://christianmoe.com
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode