使用命名字段在Emacs org-table-mode中确定带有vsum的范围,这是不可能的?

时间:2012-12-06 13:22:49

标签: emacs org-mode org-table

我一直在尝试通过添加命名字段来简化我所拥有的半复杂表,没有问题,直到我到达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-&GT; VSUM((1000)..(123))     @ R $ C-&GT; VSUM((1000)..(123))     $ 1→ VSUM((1000)..(123))            ----------- ^     错误:预期`)'

我试过在括号中包含命名的字段变量,以及其他几种方法,但到目前为止还没有能够使它工作。我希望我只是缺少一些东西并且失明,但也许这是不可能做到的?

我也尝试过总结功能但也没有成功。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

以下解决方案使用@II@III来引用第二和第三个hline之间的所有条目。

| / | <>     | <>      |
|---+--------+---------|
|   | Title1 | Title 2 |
|---+--------+---------|
|   | name   | 1000    |
|   | name   | 3456    |
|   | name   | 123     |
|---+--------+---------|
| _ |        | MT      |
| # | Total  | 4579    |
| # |        |         |
|---+--------+---------|
#+TBLFM: $MT=vsum(@II..@III)

文档:http://orgmode.org/manual/References.html#References