如图,我想统计未结金额或已结金额,是谁无所谓,只算未结/已结的金额合计,有什么方法可行呢?
谢谢。
我想到的方法,只要你实际的内容符合你图中展示的格式,就可以这样做:
M-x keep-lines
,输入“金额:”,筛选出来所有的带“金额:”的行C-x SPC
,矩形方式选中,DEL
删掉“金额:”
(+
,尾部加个)
,然后C-x C-e
计算表达式即可然后用同样的方式计算已结的金额
试试这个
这个虽有点烦琐,但是能解决问题,谢谢兄弟提供思路。
我搞出来不是表格,全都挤成一坨不知什么鬼,再试试。感谢。
是长期使用吗?长期使用专门写一个函数处理一下的话,会方便很多
类似这样的
(defun xxx ()
(interactive)
(when (region-active-p)
(apply '+
(seq-map (lambda (str)
(if (string-match "金额:[[:space:]]*\\([[:digit:]]+\\)" str)
(string-to-number (match-string 1 str))
0))
(string-split (buffer-substring-no-properties (region-beginning)
(region-end))
"\n")))))
(defun my/reb-copy-match (&optional priority)
"Copy current match strings into the `kill-ring'. Default copy first group."
(interactive "p" reb-mode)
(reb-assert-buffer-in-window)
(with-current-buffer (window-buffer reb-target-window)
(kill-new
(mapconcat
(lambda (a)
(when (equal (overlay-get a 'priority) priority)
(format "%s
" (buffer-substring-no-properties (overlay-start a) (overlay-end a)))))
reb-overlays))))
(with-eval-after-load 're-builder
(keymap-set reb-mode-map "C-c M-w" 'my/reb-copy-match))
写了个函数通过 re-builder 的正则复制特定组的字符串,narrow 后写正则匹配数字,粘贴到临时 buffer,选中并 C-x * : 调用 calc 合计
是记账吗?可以试试gnucash这个app。
感谢各位兄弟
不是记账,网页导出项,不定时从未结账往已结账转换。