I would like to have a column in an org mode table that is a simple monotonically increasing value, i.e. the row number such that wnen I insert and remove random rows the index value adjusts automagically. I suspect that this should be simple but it would appear I am making it way too difficult. Mind you, I am a novice at using Emacs and org mode to build spreadsheets. So a simple example spreadsheet where there are two columns, one the row index value and the other some fixed value, would be a perfect answer.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
This example uses @#
to get the row number. Similarly, $#
returns the column number.
| row | data |
|-----+------|
| 2 | 0303 |
| 3 | 5123 |
| 4 | 41 |
| 5 | 4234 |
#+TBLFM: $1=@#
回答2:
It's often necessary, for example with descriptive rows, to start counting rows only from certain horizontal lines with 1, below for the first horizontal line:
#+TBLFM: $1=vlen(@I..0)
. This means calculate the length of the row range from the first hline @I
(the second would be @II
, ...) to the current (0
) row.
|bla|blabla|
|---+------|
|1 | bla |
|2 | bla |
#+TBLFM: $1=vlen(@I..0)
or, for above example, also simply #+TBLFM: $1=@#-1
:-)