Question

the $1 column of my table is just an i++ value, 1, 2, 3 ... n where n is the number of rows between the 2nd and 3rd hline. is there a function I can call to tell me how many rows are in that part of my table, or, if I want to be able to refer to a variable which is the number of rows in my table, do I have to keep track of it manually like this? so what I want to be able to do is the following, without having to use a count up column.

@7$1 = Total(5), where "5" is the number of rows between the 2nd and 3rd hline

| num rows | x | y |
|----------+---+---|
|        1 |   |   |
|        2 |   |   |
|        3 |   |   |
|        4 |   |   |
|        5 |   |   |
|----------+---+---|
| Total(5) |   |   |
|----------+---+---|
#+TBLFM: @7$1=Total(@-1) 

So this is what I have now, I would like to be able to get the number of rows between 2 hlines without having to use a dedicated column to keep that count.

Était-ce utile?

La solution

Two variants come to mind, one using Calc's vector length function vlen, the other using elisp's length, which gives the size of a list:

| Item          |
|---------------|
| tomato        |
| banana        |
| space shuttle |
| orgmode       |
|---------------|
| 4             |
| 4             |
#+TBLFM: @6$1='(length '(@I..@II))::@7$1=vlen(@I..@II)

@I..@II means all rows between the first and second hlines.

Autres conseils

I you put your cursor on the last row and do C-c ? Emacs will show you the information that you need. E.g. line @162, col $2, ref @162$2 or B162.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top