【问题标题】:Alternate to IFNA for my INDEX MATCH formula为我的 INDEX MATCH 公式替代 IFNA
【发布时间】:2020-12-22 17:23:38
【问题描述】:

对这种级别的公式和编码非常陌生,并且正在学习中。我最近得到了一些帮助,可以使 INDEX MATCH 公式与 IFNA 语句一起使用。它现在完美运行(下面的链接,“会话 1”表,单元格 E14-E23)

我尝试在 E29-E38 中使用相同样式的公式(以橙色突出显示)。但是由于需要多个 IF 语句,IFNA 现在不允许它工作。

我需要搜索并将“会话 1”工作表的单元格 D29-38 中的内容与其他工作表的 A 列中列出的内容相匹配(您可以在 E29-E38 的代码中查看哪些工作表),然后将匹配的 A 列项目的这些工作表的 B 列中的值带回给我。

我有以下我尝试调整的公式:

=iferror(ifna(IF($B29="Set",INDEX('按技能设置DD技能'!$B$3:$B,match($D29,'按技能设置DD技能'!$A$3 :$A,0)),na()),if($B29="Vol",INDEX('Vol DD Skill by Skill'!$B$3:$B,match($D29,'Vol DD Skill by Skill '!$A$3:$A,0)),na()),if($B29="EXTVol",INDEX('EXTVol DD Skill by Skill'!$B$3:$B,match($D29,' EXTVol DD Skill by Skill'!$A$3:$A,0)),na()),if($B29="EXTVol2",INDEX('EXTVol2 DD Skill by Skill'!$B$3:$B,match ($D29,'EXTVol2 DD Skill by Skill'!$A$3:$A,0)),na()),if($A29="DMT",INDEX('DMT DD Skill by Skill'!$B$3 :$B,match($D29,'DMT DD Skill by Skill'!$A$3:$A,0)),"")),"")

还有一个链接到该表的复制版本以供参考:

https://docs.google.com/spreadsheets/d/1pkN3tKTFhFweDdKfQ3SZDnA_gqqF-B5rso1zc1v3TZY/edit?usp=sharing

提前感谢任何能够提供帮助的人!

艾略特

【问题讨论】:

  • 您尝试过使用 VLOOKUP/HLOOKUP 吗? @ElliotStratton

标签: google-sheets indexing match google-sheets-formula


【解决方案1】:

我在这里可能会产生误解,但您在 B29:B38 中的条目似乎可用于创建要引用的所有工作表名称。因此,如果您将以下内容放入 E29 并将其拖至 D38,它应该会提供您要查找的内容:

=IF(A29="","",IFERROR(VLOOKUP(D29,INDIRECT("'"&B29&" DD Skill by Skill'!A3:B"),2,FALSE),"No "&B29&" Sheet"))

您会注意到我的 IFERROR 设置为告诉您 B29:B38 中命名的工作表序言是否不是现有工作表(就像我在第 33 行写这篇文章时的情况:“Pass2”) .

【讨论】:

    【解决方案2】:

    我可能有一个适合你的答案。 在 E29 中试试这个公式,然后往下拉:

    =IF($B29="Set",           ifna(INDEX('Set DD Skill by Skill'!$B$3:$B,     match($D29,'Set DD Skill by Skill'!$A$3:$A,0)),    "Skip1"),
       if($B29="Vol",         ifna(INDEX('Vol DD Skill by Skill'!$B$3:$B,     match($D29,'Vol DD Skill by Skill'!$A$3:$A,0)),    "Skip2"),
         if($B29="EXTVol",    ifna(INDEX('EXTVol DD Skill by Skill'!$B$3:$B,  match($D29,'EXTVol DD Skill by Skill'!$A$3:$A,0)), "Skip3"),
           if($B29="EXTVol2", ifna(INDEX('EXTVol2 DD Skill by Skill'!$B$3:$B, match($D29,'EXTVol2 DD Skill by Skill'!$A$3:$A,0)),"Skip4"),
             if($A29="DMT",   ifna(INDEX('DMT DD Skill by Skill'!$B$3:$B,     match($D29,'DMT DD Skill by Skill'!$A$3:$A,0)),    "Skip5"),
               "Skip6")))))
    

    我刚刚改组了你那里的公式,过了一会儿,它似乎成功了。您可能需要查看您想要作为其中一部分的 IFERROR 或 IFNA 语句。你有NA() 我有"Skip x",这帮助我弄清楚发生了什么。

    如果这不是您想要的,请告诉我。

    【讨论】:

    • 非常感谢!那个工作点,我从来没有想过把“SKIPs”放进去就能看到错误发生在哪里!谢谢你!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    • 2018-06-02
    • 1970-01-01
    相关资源
    最近更新 更多