Google 表格:我下载的 .ods (calc) 表格无法使用 REGEXMATC 恢复公式

问题描述 投票:0回答:1

我的 Google 表格中的单元格包含这样的公式

=IF(REGEXMATCH(K12;"Oui");IF(AND(REGEXMATCH($C12;"Oui"); REGEXMATCH(K12;"Oui"));L$7;L$8);0)

这个福尔马拉变成了

=SIERREUR(__xludf.dummyfunction("IF(REGEXMATCH(K12,""Oui""),IF(AND(REGEXMATCH($C12,""Oui""), REGEXMATCH(K12,""Oui"")),L$7,L$8),0)");11)

在 Libreoffice Calc 中。

出了什么问题?有办法解决这个问题吗?

google-sheets libreoffice-calc
1个回答
0
投票

您的表达式不包含任何 正则表达式 特殊字符,因此您还可以使用 Google Sheets 和 LibreOffice 中都存在的

find()
函数。

像这样修改你的公式:

=if(not(iserror(find("Oui"; K12))); if(not(iserror(find("Oui"; $C12))); L$7; L$8); 0)

如果您需要实际的正则表达式,则每次从 Google Sheets 移动到 LibreOffice 后都必须编辑公式。

LibreOffice没有

regexmatch()
功能,但它有一个
REGEX()
功能,可以用来模仿前者。例如:

=NOT(ISERROR(REGEX("Non Oui Si"; "Oui")))

...将给出

TRUE
,同时:

=NOT(ISERROR(REGEX("Dweezil"; "Oui")))

...将给予

FALSE

这些 LibreOffice 表达式与 Google Sheets 中的

regexmatch()
相同,除了正则表达式模式中存在某些差异。

参见:

© www.soinside.com 2019 - 2024. All rights reserved.