Использование именованных полей для определения диапазонов с помощью vsum в Emacs org-table-mode, невозможно?
Я пытался упростить полусложную таблицу, добавив именованные поля, без проблем, пока не доберусь до оператора vsum. Я установил формулу в $M=vsum($3..@-4), которая работает, однако мне постоянно приходится добавлять и удалять элементы из этих полей, что изменяет нумерацию столбцов. Это приводит к тому, что после каждого обновления / изменения мне приходится изменять спецификации полей диапазона vsum. Таким образом, я попытался присвоить имена верхним и нижним полям с мыслью о предоставлении именованных переменных в vsum, получив таблицу, подобную следующей:
| / | <> | <> |
|---+--------+---------|
| | Title1 | Title 2 |
|---+--------+---------|
| _ | | START |
| | name | 1000 |
| | name | 3456 |
| | name | 123 |
| ^ | | END |
|---+--------+---------|
| _ | | MT |
| # | Total | #ERROR |
| # | | |
|---+--------+---------|
#+TBLFM: $MT=vsum($START..$END)
Это вывод формулы отладки из приведенной выше таблицы: История подстановки формулы Orig: vsum($START..$END) $xyz-> vsum((1000)..(123)) @r$c-> vsum((1000)..(123)) $1-> vsum((1000)..(123)) -----------^ Ошибка: ожидается `)'
Я попытался заключить именованные переменные поля в круглые скобки и несколько других способов, но до сих пор не смог заставить это работать. Я надеюсь, что я что-то упускаю и слепой, но, возможно, это невозможно сделать?
Я также попробовал функцию суммирования, но безуспешно. Спасибо заранее за помощь.
1 ответ
Следующее решение работает с помощью @II
а также @III
чтобы ссылаться на все записи между второй и третьей строкой.
| / | <> | <> |
|---+--------+---------|
| | Title1 | Title 2 |
|---+--------+---------|
| | name | 1000 |
| | name | 3456 |
| | name | 123 |
|---+--------+---------|
| _ | | MT |
| # | Total | 4579 |
| # | | |
|---+--------+---------|
#+TBLFM: $MT=vsum(@II..@III)
Документация: http://orgmode.org/manual/References.html