【问题标题】:How can I simplify statements like these in an =OR() statement?如何在 =OR() 语句中简化这样的语句?
【发布时间】:2021-03-06 06:55:20
【问题描述】:
isnumber(search("-tr",right(j2,3
))),isnumber(search("-trus",right(j2,5))),isnumber(search(" ll",right(j2,3))),isnumber(search(" homes",right(j2,6))),isnumber(search("the ",left(j2,4))),isnumber(search(" hoa",right(j2,4))),isnumber(search("b ch",right(j2,4))),isnumber(search(" ch",right(j2,3))),isnumber(search("-trs",right(j2,4))),isnumber(search(" prop",right(j2,5))),isnumber(search(" st",right(j2,3))),isnumber(search(" av",right(j2,3))),isnumber(search(" ave",right(j2,4))),isnumber(search(" servi",right(j2,6))),isnumber(search(" maint",right(j2,6))),isnumber(search(" home",right(j2,5))),isnumber(search(" tr",right(j2,3))),isnumber(search(" assn",right(j2,5))),isnumber(search(" co",right(j2,3))),isnumber(search(" trus",right(j2,5))),isnumber(search(" trs",right(j2,4))),isnumber(search("-trs",right(j2,4))),isnumber(search(" tru",right(j2,4))),isnumber(search("jtrs",right(j2,4))),isnumber(search(" est of",right(j2,7))),isnumber(search(" trs",right(j2,4))),isnumber(value(LEFT(j2,1))),isnumber(search(" apts",right(j2,5))),isnumber(value(right(j2,3))),isnumber(search(" grp",right(j2,4))),isnumber(value(left(right(j2,4),1))),isnumber(search(" mgmt",right(j2,5))),isnumber(search(" props",right(j2,6))),isnumber(search(" tr",right(j2,3))),isnumber(search(" dev",right(j2,4))),isnumber(search(" tr",right(j2,3))),isnumber(search(" fdn",right(j2,4))),isnumber(search(" ent",right(j2,4))),isnumber(search(" PRPTS",right(j2,6))),isnumber(search(" ARPTS",right(j2,6))),isnumber(search(" univ",right(j2,5)))

所以我有这个巨大的 =OR() 语句,其中包含一堆 isnumner(search() 语句检查单元格中的字符串是否以这些短语结尾。它的目的是识别列表中包含的公司名称人名和公司名。我觉得必须有一种更有效的方法。将它们全部加在一起 ​​isnumber(search() 这种格式 {item1|item2|item3} 不起作用。

我觉得一定有更有效的方法。

【问题讨论】:

  • 您处理什么数据?你有例子吗?
  • 包含公司或个人名称的字符串。任何返回 true 的语句都会使值变为 true。我的问题更多地与语法有关。

标签: google-sheets google-sheets-formula spreadsheet


【解决方案1】:

here 提供的答案的基础上,匹配字符串的结尾可以通过使用$ 符号(这意味着'正则表达式中的字符串结尾)来完成。另一方面,匹配字符串的开头是通过在插入符号 (^) 之后提供一个模式来完成的,表示字符串的开头。

所以,如果您想同时添加另一个线程中提供的公式

  • (LP|JT/RS)$ : 匹配字符串末尾的 LP OR JT/RS
  • ^(ABC|DEF) : 匹配字符串开头的 ABC OR DEF

这会使公式看起来像:

=REGEXMATCH(A2, "(?i)LLC|CORPORATION|COMPANY|HOLDINGS|PARTNERS|EQUITY|(LP|JT/RS)$|^(ABC|DEF)")

参考:

【讨论】:

  • 好吧,假设我想从字符串的开头搜索其中一些,从字符串的结尾搜索其他的,我将如何构建它?
  • 我在公式中给出了一个例子。将要搜索的模式分组在字符串的末尾,并用竖线分隔它们(“|”,在正则表达式中表示“或”):(pattern1|pattern2|pattern3)$。对要在字符串开头匹配的模式执行相同的操作。用竖线(“|”)分隔两个“组”。
猜你喜欢
  • 2019-10-06
  • 1970-01-01
  • 2016-07-26
  • 1970-01-01
  • 2022-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-23
相关资源
最近更新 更多