Hi Ippei, > | Product | g | kJ/100g | kJ | kcal | > |-----------+------+---------+------+------| > | Bread | 50.6 | 1372 | 694 | 166 | > | Butter | 11.5 | 3054 | 351 | 84 | > | Marmalade | 19.7 | 926 | 182 | 44 | > |-----------+------+---------+------+------| > | | | | 1227 | 294 | > #+TBLFM: $3='(org-lookup-first $1 '(remote(nf,@I$1..@II$1)) > (remote(nf,@I$2..@II$2))) > #+TBLFM: $4='(* $2 (/ $3 $b));N%.0f > #+TBLFM: $5=$4/$j;%.0f > #+TBLFM: @>$4..$5=vsum(@I..II) > (Each TBLFM line has no linebreak.)
thanks for your suggestion, but I didn't want an extra column. I played with `N' and `L' options and found following solution leaving them out entirely: #+TITLE: Nutrition Facts #+CONSTANTS: b=100.0 j=4.184 #+TBLNAME: nf | Product | kJ | kcal | |-------------+------+------| | Bread white | 1372 | 328 | | Butter | 3054 | 730 | | Marmalade | 926 | 221 | #+TBLFM: $3=$2/$j;%.0f | Product | g | kJ | kcal | |-------------+------+------+------| | Bread white | 50.6 | 694 | 166 | | Butter | 11.5 | 351 | 84 | | Marmalade | 19.7 | 182 | 43 | | nonexistent | | 0 | 0 | |-------------+------+------+------| | | | 1227 | 293 | #+TBLFM: $3='(* (string-to-number $2) (/ (string-to-number (org-lookup-last $1 '(remote(nf,@I$1..@II$1)) '(remote(nf,@I$2..@II$2)))) $b));%.0f::$4=$3/$j;%.0f::@>$3..$4=vsum(@I..II) $1 has to be a string, because the lookup column can have more than one word. For the math I have to convert the strings to numbers. Maybe someone has an idea for a more elegant solution, but this works for me now. -- Best, Oliver