首页 > 解决方案 > 使用来自同一列数据的多个 IFS 简化公式

问题描述

所有IFS都来自同一个范围CO4:CO53,只改变要搜索的值,考虑到只有一个范围要搜索,有没有办法简化它,使它不会变得那么大?

值得注意的是,如果找到,都必须更改为相同的值。

=ARRAYFORMULA(
              IFERROR(
                      IFS(
                          CO4:CO53="Out","",
                          CO4:CO53="Mid","",
                          CO4:CO53="Early","",
                          CO4:CO53="Late","",
                          CO4:CO53="Red","",
                          CO4:CO53="Yellow","",
                          CO4:CO53="1","",
                          CO4:CO53="2","",
                          CO4:CO53="3","",
                          CO4:CO53="Disciplinary","",
                          CO4:CO53=1,"",
                          CO4:CO53=2,"",
                          CO4:CO53=3,""
                         ),
                      'Copy of Top Plantel A'!A2:A51
                     )
             )

标签: google-sheetsgoogle-sheets-formula

解决方案


请参阅我在原始帖子中的评论。

但是,仅考虑到我所看到的,您可以尝试以下方法:

=ArrayFormula(IF(REGEXMATCH(CO4:CO53&"","^(Out|Mid|Early|Late|Red|Yellow|1|2|3|Disciplinary)$"),,'Copy of Top Plantel A'!A2:A51))

REGEXMATCH返回TRUE(如果找到匹配项),否则返回FALSE

管道符号充当OR.

附加一个空格CO4:CO53以将数字 1、2、3 转换为字符串(与REGEX-type 函数一起使用是必需的)。

如果编写的公式没有按预期工作,请共享电子表格的链接(或其副本),权限设置为“任何知道链接的人...”和“编辑”。


推荐阅读