【问题标题】:Selecting a specific row with a condition ? LibreOffice Calc选择具有条件的特定行? LibreOffice 计算
【发布时间】: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)

但它给了我一个错误

【问题讨论】:

    标签: openoffice.org openoffice-calc


    【解决方案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 08 0 0 0 获取C 和8,请使用"[A-Z1-9]"

    【讨论】:

    • 非常感谢,您已经回答了我的问题,但是如果它不是一个字符,我试图使用手册中的一个词 [:print:] 但它不起作用
    • 你想匹配什么类型的词——所有的字母还是一些特殊字符?请参阅编辑后的答案。
    • 非常感谢,是的,字母和数字(数字和特殊字符)都可以
    • 但问题是我所有的行都是零,所以当我使用 [:alnum:] 时它给我一个零。例如 0 0 0 0 8 0 0 0 答案是 0,应该是 8
    猜你喜欢
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多