选择具有条件的特定行? LibreOffice 计算
Posted
技术标签:
【中文标题】选择具有条件的特定行? LibreOffice 计算【英文标题】:Selecting a specific row with a condition ? LibreOffice Calc 【发布时间】:2017-08-23 09:52:52 【问题描述】:我有这个 LibreOffice calc 文件,其中的原始数据全为零
raw1 raw2 raw3 raw4 raw5 raw6 raw7 raw8 raw9
0 0 0 0 C 0 0 0 0
0 0 0 0 0 0 0 W 0
我只想打印行内的字符,像这样
Result
C
W
我确实尝试了'if'条件
IF(CD2:CR16 = 1, CD2:CR16)
但它给了我一个错误
【问题讨论】:
【参考方案1】:使用MATCH 查找包含字符的列,然后使用INDEX 获取单元格的值。
=INDEX(CD2:CR2, MATCH("[A-Z]", CD2:CR2, 0))
为此,请转到工具 -> 选项 -> LibreOffice Calc -> 计算,然后选择 Enable regular expressions in formulas
。
编辑:
根据https://help.libreoffice.org/Common/List_of_Regular_Expressions,[:print:]
代表任何可打印的字符,因此它会抓取第一个零,这可能就是它似乎没有做你想做的事情的原因。
要匹配几个单词之一,正则表达式应该是这样的:
"word1|word2|word3"
或者对于由一个或多个字母组成的任何单词:
"[:alpha:]+"
编辑 2:
要分别从0 0 C 0
和8 0 0 0
获取C 和8,请使用"[A-Z1-9]"
。
【讨论】:
非常感谢,您已经回答了我的问题,但是如果它不是一个字符,我试图使用手册中的一个词 [:print:] 但它不起作用 你想匹配什么类型的词——所有的字母还是一些特殊字符?请参阅编辑后的答案。 非常感谢,是的,字母和数字(数字和特殊字符)都可以 但问题是我所有的行都是零,所以当我使用 [:alnum:] 时它给我一个零。例如 0 0 0 0 8 0 0 0 答案是 0,应该是 8以上是关于选择具有条件的特定行? LibreOffice 计算的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 2008 R2 在特定条件下选择特定行
LibreOffice 电子表格:使用特定过滤器选择随机单元格