emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: how obtain automatic row numbers in a table starting after the secon


From: Christian Moe
Subject: Re: how obtain automatic row numbers in a table starting after the second hline?
Date: Sun, 07 Aug 2022 13:21:13 +0200
User-agent: mu4e 1.2.0; emacs 27.2

Hi, Uwe,

Three ideas:

1. Since your solution depends on the row number (@#) in any case, your
   use case does not actually depend on hline-relative references, does
   it?  Then you can also assign to absolute row numbers, either by

   - assigning to the range rather than to the colum, which is not
     possible with hline relative references (the obvious
     @II$1..@>$1=@#-1+572 is not allowed), but with an absolute start
     reference it works:

     |  Nr |
     |-----|
     |     |
     |-----|
     | 574 |
     | 575 |
     | 576 |
     | 577 |
     #+TBLFM: @3$1..@>$1=@#-1+572

   - or assigning to the row first, then assigning the content between
     the hlines to that cell (perhaps a fragile solution).

     |  Nr |
     |-----|
     |     |
     |-----|
     | 574 |
     | 575 |
     | 576 |
     | 577 |
     #+TBLFM: $1=@#-1+572::@2$1=string("")

2. Use a conditional to avoid changing the cell between the hlines, e.g.:

   |  Nr |
   |-----|
   | foo |
   |-----|
   | 574 |
   | 575 |
   | 576 |
   | 577 |
   #+TBLFM: $1=if(@# < 3, @0$1, @#+571)

   Here, I use @0$1 to replace that cell with itself. If the cell is empty,
   this evaluates as 0, so if you want an empty string, use string("")
   instead of @0$1.

3. Add a first column with special marking characters (see Org manual:
   Spreadsheet: Advanced features), leaving empty the cell between the
   hlines so it won't get recalculated.

   |   |  Nr |
   |---+-----|
   |   |     |
   |---+-----|
   | * | 574 |
   | * | 575 |
   | * | 576 |
   | * | 577 |
   #+TBLFM: $2=@#-1+572

Yours,
Christian

Uwe Brauer writes:

> Hi
>
> I would like to obtain
> #+begin_src
>
> |  Nr |
> |-----|
> |     |
> |-----|
> | 574 |
> | 575 |
> |  .. |
> | 680 |
> #+end_src
>
> I tried
> #+begin_src
>
> | Nr |
> |----|
> |  1 |
> |----|
> |  1 |
> |  2 |
> #+TBLFM: $1=vlen(@II$1..0);EN
> #+end_src
>
> or
> #+begin_src
>
> |  Nr |
> |-----|
> | 573 |
> |-----|
> | 574 |
> | 575 |
> #+TBLFM: $1=@#-1+572
> #+end_src
>
> None worked, any ideas?
>
> thanks
>
> Uwe Brauer



reply via email to

[Prev in Thread] Current Thread [Next in Thread]