How to achieve a row index column in Emacs Org Mode using a Calc column rule

ぐ巨炮叔叔 提交于 2019-12-03 16:24:44

问题


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 :-)



来源:https://stackoverflow.com/questions/9267050/how-to-achieve-a-row-index-column-in-emacs-org-mode-using-a-calc-column-rule

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!