我有这个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)
但它给了我一个错误
答案 0 :(得分:0)
使用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]"
。