【问题标题】:Determine if any value in an array is anywhere inside a cell确定数组中的任何值是否在单元格内的任何位置
【发布时间】: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


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多