【问题标题】:Emacs: Org-mode spreadsheet: targeting via hlineEmacs:组织模式电子表格:通过 hline 定位
【发布时间】:2011-10-05 02:07:50
【问题描述】:

我正在尝试以 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 和其他方式)设置时它不起作用。

有什么想法吗?

谢谢!

【问题讨论】:

    标签: emacs org-mode


    【解决方案1】:

    最接近相对引用的方法是将公式更改为:

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

    @0 隐含在 -1 中。

    对于第二个公式,@> 表示最后一行,因此只要您不在总行下方添加其他行,结果就会出现在正确的位置。如果您在其下方添加其他内容,您只需调整 > 符号的数量。

    编辑:

    您还可以命名有问题的单元格,这样它就不会被更改: Org-Manual

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

    你需要两个总行的总名称,否则你的分钟数不会加起来。

    【讨论】:

      【解决方案2】:

      使用M-S-up,down,left,right系列命令来操作(插入/删除行/列)表格,公式会自动调整。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-02
        • 1970-01-01
        • 1970-01-01
        • 2012-11-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多