Hi Eric,

Thanks for the suggestions, I'll go for the integer value used as an index :)

Have a nice weekend,


Guido

On 16 October 2015 at 15:48, Eric S Fraga <e.fraga@ucl.ac.uk> wrote:
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