确定数组中的任何值是否在单元格内的任何位置

时间:2015-08-18 16:27:22

标签: arrays search find substring excel-2010

目标 检查单元格内的任何位置,以查看是否存在六个字母组合之一。如果是,则显示“nonprod”,否则显示“prod”。

背景 我有1,735个计算机名称,具有各种不同的命名约定,但它们都有一个共同点:识别它们运行的​​环境。服务器名称内环境的缩写是“dev”,“stg”,“qa”,“tst”,“lt”或“prf”。计算机名称位于名为“Host”($ A:$ A)的列中,如下所示:csap-dev01(“dev”服务器),cssp-qa01(“qa”服务器),cstg-stg-ps -01(“stg”服务器)等。有时主机名不符合任何这些命名约定,在这种情况下,它们被假定为“prod”服务器。

我的解决方案 在名为“Lifecycle”的列中,我创建了一个公式来检查主机名是否包含任何Lifecycle值。如果是,那么单元格应显示“nonprod”,否则,它应显示“prod”。

= IF(ISERROR(FIND( “LT”,$ A403,5)),IF(ISERROR(FIND( “PRF”,$ A403,5)),IF(ISERROR(FIND( “TST”,$ A403 ,5)),IF(ISERROR(FIND( “QA”,$ A403,5)),IF(ISERROR(FIND( “STG”,$ A403,5)),IF(ISERROR(FIND( “dev的”,$ A403,5)), “刺”, “nonprod”), “nonprod”), “nonprod”), “nonprod”), “nonprod”), “nonprod”)。

查找错误 当我看到FIND函数也将使用一组值时,我将公式缩短为= IF(ISERROR(FIND(生命周期,$ A403)),“prod”,“nonprod”),但它总是返回#VALUE! 。我刚试过这样一个基本的FIND,= FIND(生命周期,$ A403),它只有在名字中有“dev”时才有效,否则它会返回#VALUE!。

您的帮助 我当然可以帮助你。

1 个答案:

答案 0 :(得分:0)

你的问题没有?所以我不确定你的目标是什么,但是比你的公式更短的版本可能是:

=IF(SUM(IF(IFERROR(FIND(NPlist,A403),0),1))>0,"nonprod","prod")  

其中NPlist是服务器名称环境缩写的定义名称。

这是一个数组公式,因此需要使用Ctrl + Shift + Enter输入。