应用基于行的filter而不是基于LibreOffice或其他SpreadSheet工具的列

我们都知道标准filter,根据特定列(或多列)中的值select显示哪些行。 完全相同,但根据单行的值,select哪些列应该是可见的? 我到目前为止唯一的想法是写一个macros或手动。

目前还不能发表评论,所以:

你可以在你的工具中进行正常的excel操作:

复制数据区域并将其粘贴转置 ,然后将filter应用于列。

至于macros,我已经把一个小的助手扩展,允许一个人直接写入python代码单元格 – 检查它在https://github.com/jsbueno/librepylot/releases/tag/0.7

安装完成后,像下面这样的单元格中的代码可以做你想做的事情:

 for col in range(0, 26): #A - Z S[0]._sheet.Columns.getByIndex(col) = bool(S[0][col, 0]._cell.getValue()) 

在S [0]的第一个“0”之上是纸张编号,S [0] [col,0]中的第二个“0”是你的值(第一行)的行的索引,我只是设置了可见度基于单元计算值的真值(!= 0)。 使用任何你想要的pythonexpression式

这两行代码应该放在单元格的文本内容中 – 注意第二行是缩进的,libreoffice不会将任何命令的第一个字母改为大写(并且防止默认的其他自动转换)第二个单元格应该写成公式=pyexec(B1) (假设代码在单元格b1 ) – 每当你想“重新运行”filter时,只要编辑两个单元格中的任何一个。