Emacs: электронная таблица в режиме Org: таргетинг через хлайн - PullRequest
3 голосов
/ 14 июля 2011

Я пытаюсь записать свои часы в режиме org:

** Bob Johnson, Bob's SEO
| subject                                       | time                      | minutes | total hours |
|-----------------------------------------------+---------------------------+---------+-------------|
| optimization report                           | 2011/07/11 8-10:00 PM PST |     120 |           2 |
| phonecall to dicuss report and plan of action | 2011/07/13 5:41 PM        |      43 |  0.71666667 |
|-----------------------------------------------+---------------------------+---------+-------------|
|                                               |                           |     249 |        4.15 |
#+TBLFM: $4=@0$-1/60::@6$3=vsum(@I..@II)

Основная проблема - приведенное выше выражение, которое суммирует общее количество часов:

@6$3=vsum(@I..@II)

Должно быть что-то вроде:

@||+1$3=vsum(@I..@II)

Так что по мере роста электронной таблицы последний элемент в столбце со второго по последний всегда будет суммировать итоговую сумму. Это не работает, когда я устанавливаю его таким образом (и +II, и другие способы).

Есть идеи?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 22 июля 2011

Самое близкое к относительным ссылкам, которое вы можете найти, это изменить формулу на:

#+TBLFM: $4=$-1/60::@>$3=vsum(@I..@II)

@ 0 подразумевается как -1.

Для второй формулы @> означает последнюю строку, поэтому до тех пор, пока вы не добавите дополнительные строки ниже общей строки, результаты будут в нужном месте. Если вы добавите дополнительные под ним, вам просто нужно отрегулировать количество знаков>.

EDIT:

Вы также можете назвать соответствующую ячейку, чтобы она не менялась независимо от: Орг-Manual

|-----------------------------------------------+---------------------------+---------+-------------|
|                                               |                           |     163 |   2.7166667 |
| ^                                             |                           |   total |       total |
#+TBLFM: $4=$-1/60::$total=vsum(@I..@II)

Вам нужно общее имя для обеих строк, иначе ваши минуты не будут складываться.

1 голос
/ 14 июля 2011

Используйте семейство команд MS-up, down, left, right для управления (вставкой / удалением строки / столбца) таблицы, и формула будет скорректирована автоматически.

...