繁体   English   中英

替代 IFNA 用于我的 INDEX MATCH 公式

[英]Alternate to IFNA for my INDEX MATCH formula

这种级别的公式和编码还很新,并且正在学习中。 我最近得到了一些帮助,使 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

提前感谢任何能够帮助解决此问题的人!

艾略特

我可能有一个适合你的答案。 在 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")))))

我只是改组了你在那里的公式,过了一会儿,它似乎奏效了。 您可能需要查看作为其中一部分的IFERRORIFNA语句。 你有NA()我有"Skip x" ,这帮助我弄清楚发生了什么。

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

在此处输入图片说明

我可能在这里有误解,但似乎您在 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”写这篇文章时的情况一样)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM