Karl Voit <devn...@karl-voit.at> writes: > Hi! > > I'd like to calculate the differences between rows of numbers of a > different table. > > Here is a minimal example showing the issue: > > #+NAME: my-table > | Numbers | > > |---------| > | 1 | > | 5 | > | 8 | > | 12 | > | 15 | > > This is what I expected: "exp. Reference1" and "exp. Reference2" is here only > to demonstrate that the assumed references are wrong in the third table. "exp. > Difference" is the column I want to get in the first place. I don't want to > see > Reference 1 or 2 at all in my solution (since I need a couple of those > difference-columns). > > | Line | exp. Reference1 | exp. Reference2 | exp. Difference | > |------+-----------------+-----------------+-----------------| > | 1 | 0 | 0 | 0 | > | 2 | 5 | 1 | 4 | > | 3 | 8 | 5 | 3 | > | 4 | 12 | 8 | 4 | > | 5 | 15 | 12 | 3 | > > This is what I get instead: > > | Line | actual Reference1 | actual Reference2 | Difference | > |------+-------------------+-------------------+------------| > | 1 | 0 | 0 | 0 | > | 2 | 6 | 1 | 5 | > | 3 | 12 | 1 | 11 | > | 4 | 20 | 1 | 19 | > | 5 | 30 | 1 | 29 | > > #+TBLFM: $2=if(2 == @#, 0, remote(my-table,@#$1))::$3=if(2 == @#, 0, > remote(my-table,@#-1$1))::$4=if(2 == @#, 0, > (remote(my-table,@#$1)-remote(my-table,@#-1$1)))
@# is the row number, so to refer to that row, you need @@#. Something like this, although I didn't test to see if everything gets parsed correctly: #+TBLFM: $2=if(2 == @#, 0, remote(my-table,@@#$1))::$3=if(2 == @#, 0, remote(my-table,@@#-1$1))::$4=if(2 == @#, 0, (remote(my-table,@@#$1)-remote(my-table,@@#-1$1))) Turning on formula debugging with `C-c {' helps. -- Nick "There are only two hard problems in computer science: cache invalidation, naming things, and off-by-one errors." -Martin Fowler