Постоянное суммирование столбца в таблице режима Org - PullRequest
79 голосов
/ 14 июля 2011

В таблице режима Emacs Org, когда у вас есть столбец, полный целых чисел, я знаю, что вы можете сделать C-c +, а затем C-y, чтобы вставить сумму значений в столбец.Я хочу знать формулу для размещения в последнем ряду, чтобы всегда суммировал весь столбец.

Я перепробовал все.В документах показано, как суммировать два столбца, но не один.

Ответы [ 4 ]

50 голосов
/ 07 января 2012

Последняя строка таблицы равна @> Например, чтобы получить сумму для третьего столбца в последней строке, вы можете использовать формулу

@>$3=vsum(@2..@-1)

Возможно, вам придется адаптировать @2, если у вас нет строки заголовка ...

49 голосов
/ 14 июля 2011

Назначьте имя поля с помощью знака ^:

|---+---|
|   | 1 |
|   | 2 |
|   | 3 |
|---+---|
|   | 6 |
| ^ | x |
|---+---|
#+TBLFM: $x=vsum(@1..@-1)

См. Руководство по организации , раздел 3.5.9 Расширенные функции .

28 голосов
/ 29 мая 2014

Еще одна возможность использует горизонтальные линии (@I, @II и т. Д.), Которые в любом случае полезны для структурирования вашей таблицы:

| What  |    $$ |
|-------+-------|
| Ice   |  3.00 |
| Soda  |  6.49 |
| Gin   |  4.99 |
|-------+-------|
| Total | 14.48 |
#+TBLFM: @>$2=vsum(@I..@II)

Без заголовка, пусть сумма начинается с @0, как уже предлагали другие.

Edit: Я только что видел, что вы сами написали это в комментарии к своему вопросу.

3 голосов
/ 15 марта 2018

Вы можете попробовать это:

$<col_num>=<func>(@2..@-1))

@2 статично. Это относится ко 2-му ряду и далее. @-1 относится ко второму последнему ряду.

Я думаю, что это был самый простой и ненавязчивый способ. Он сохраняет имена столбцов и не загромождает визуальное пространство. Не требуется, чтобы вы обращались к последнему ряду. Он адресован по умолчанию.

Строки могут быть добавлены / удалены. Других маркеров нет.

например.
#+TBLFM: $3=vmean(@2..@-1)::$4=vsum(@2..@-1))

Пример таблицы

   | Time                   | Input             | Test      | InQty |
   | <2018-03-13 Tue 06:15> | Water             |           |   200 |
   | <2018-03-13 Tue 07:03> |                   |           |       |
   |                        |                   |           |       |
   | <2018-03-13 Tue 07:31> | Water             |           |   180 |
   | <2018-03-13 Tue 09:00> | Chai              |           |   240 |
   | <2018-03-13 Tue 11:30> | Chai              |           |   240 |
   | <2018-03-13 Tue 16:01> | Water             |           |    60 |
   |                        |                   |           |       |
   |------------------------+-------------------+-----------+-------|
   |                        |                   |           |   920 |
   #+TBLFM: $4=vsum(@2..@-1)
...