表公式组织电子表格
问题描述:
我有一个表如下:表公式组织电子表格
| Xn | S | Pn |
| 0 | 0 | 0 |
| 1 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 1 | 0 |
我想通过列Xn
和S
搜索和返回Pn
为其Xn=1 and S=0
值。
任何人都可以建议我怎么能做到这一点?
答
使用org-babel:命名表并将其用作以您选择的语言(使用org支持的多种语言)进行搜索的函数的输入。
在伪代码:
#+tblname: my_table
|Xn|S|Pn|
| 0|0|9 |
[...]
#+name filter_table
#+begin_src lang :var tbl=my_table :results output
filter tbl # tbl (my_table by default) is passed in as array of arrays (or list of lists)
print matching Pn
#+end_src
答
#+tblname: example-table
| Xn | S | Pn |
| 0 | 0 | 0 |
| 1 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 1 | 0 |
#+source: compute-table
#+begin_src emacs-lisp :var table=example-table
(require 'cl)
(loop for (xn s pn) in (rest table)
when (and (= xn 1) (= s 0)) collect pn)
#+end_src
#+results: compute-table
| 1 |