On Friday, 16 Oct 2015 at 14:39, Guido Van Hoecke wrote:
> Hi,
>
> Is there a way to use a constant directly in a table column?
> I need to have a table where one of the columns can have one out of three
> possible values and wanted to use constants for this.
> From the following minimal example it appears that constants are only
> possible in formulas, or am I missing something?
>
> #+CONSTANTS: vat=1.21
> | 12.34 | $vat | #ERROR | 14.9314 |
>
> #+TBLFM: $3=$1*$2::$4=$1*$vat
>
> Using the $vat constant directly from the content of column 3 produces an
> error, using it from a formula works fine.
>
> If this is the way it is, I'll have to write a formula for each row of the
> column, that'd be a real pitty...
Maybe not pretty but for a small number of alternatives, you could do:
#+begin_src org
,#+constants: vat=[1.15,1.21,1.40]
| amount | vat1 | vat2 | vat3 | total |
|--------+------+------+------+---------|
| 12.34 | 1 | 0 | 0 | 14.191 |
| 56.78 | 0 | 1 | 0 | 68.7038 |
,#+TBLFM: $5=$1*vsum($2..$4*$vat)
#+end_src
alternatively, you could have an integer value in the VAT column and use
that to index the vector of VAT values?
--
: Eric S Fraga (0xFFFCF67D), Emacs 25.0.50.2, Org release_8.3.2-161-gd2ac25