【发布时间】:2015-11-11 16:59:48
【问题描述】:
目标 检查单元格内的任何位置,看看是否存在六个字母组合之一。如果是,则显示“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”服务器。
我的解决方案 在名为“生命周期”的列中,我创建了一个公式来检查主机名是否包含任何生命周期值。如果是,则单元格应显示“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)),"prod","nonprod"),"nonprod"),"nonprod"),"nonprod"),"nonprod"),"nonprod")。
查找错误 当我看到 FIND 函数也会使用值数组时,我将公式缩短为 =IF(ISERROR(FIND(Lifecycle,$A403)),"prod","nonprod"),但它总是返回 #VALUE! .我刚刚尝试过像这样的基本 FIND,=FIND(Lifecycle,$A403),它仅在名称中包含“dev”时才有效,否则返回 #VALUE!。
您的帮助 我当然可以使用你的帮助。
【问题讨论】:
标签: arrays search find substring excel-2010