简体   繁体   English

替代 IFNA 用于我的 INDEX MATCH 公式

[英]Alternate to IFNA for my INDEX MATCH formula

Pretty new to this level of formula and coding, and am learning on the go.这种级别的公式和编码还很新,并且正在学习中。 I recently got some help to make an INDEX MATCH formula work with an IFNA statement.我最近得到了一些帮助,使 INDEX MATCH 公式与 IFNA 语句一起工作。 It works perfectly now (Link below, "Session 1" Sheet, Cells E14-E23)它现在完美运行(下面的链接,“会话 1”表,单元格 E14-E23)

I tried to use the same style of formula in E29-E38 (highlighted in orange).我尝试在 E29-E38 中使用相同风格的公式(以橙色突出显示)。 However due to requiring multiple IF statements, the IFNA isn't allowing it to work now.但是,由于需要多个 IF 语句,因此 IFNA 现在不允许它工作。

I need to search and match what is in cells D29-38 of "Session 1" sheet to where it is listed in column A of varying other sheets (you can see which sheets in the code in E29-E38) and then bring me back the value in Column B of those sheets for the matched column A item.我需要搜索并将“会话 1”工作表的单元格 D29-38 中的内容与其他不同工作表的 A 列中列出的位置进行匹配(您可以在 E29-E38 中查看代码中的哪些工作表),然后将我带回来匹配的 A 列项目的那些工作表的 B 列中的值。

I have the formula I tried to adapt below:我有我试图适应的公式如下:

=iferror(ifna(IF($B29="Set",INDEX('Set DD Skill by Skill'!$B$3:$B,match($D29,'Set DD Skill by Skill'!$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)),"")),"") =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)),"")),"")

And also a link to a copied version of the sheet for reference:还有一个指向该表复制版本的链接以供参考:

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

Thanks in advance for anyone who is able to help with this !提前感谢任何能够帮助解决此问题的人!

Elliot艾略特

I may have an answer that works for you.我可能有一个适合你的答案。 Try this formula in E29, and drag it down:在 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")))))

I just shuffled the formula you had there, and after a bit, it seemed to work out.我只是改组了你在那里的公式,过了一会儿,它似乎奏效了。 You may want to review the IFERROR or IFNA statements that you want as part of that.您可能需要查看作为其中一部分的IFERRORIFNA语句。 You had NA() Where I have "Skip x" , which helped me figure out what was happening.你有NA()我有"Skip x" ,这帮助我弄清楚发生了什么。

Let me know if this isn't what you were looking for.如果这不是您要找的,请告诉我。

在此处输入图片说明

I may be misunderstanding here, but it seems that your entries in B29:B38 can be used to create all sheet names to be referenced.我可能在这里有误解,但似乎您在 B29:B38 中的条目可用于创建要引用的所有工作表名称。 So if you put the following in E29 and dragged it down to D38, it should provide what you're looking for:因此,如果您将以下内容放入 E29 并将其拖到 D38,它应该提供您要查找的内容:

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

You'll notice that my IFERROR is set up to tell you if the sheets preface named in B29:B38 is not an existing sheet (as is the case at the time of my writing this with Row 33: "Pass2").您会注意到,我的 IFERROR 设置为告诉您在 B29:B38 中命名的工作表序言是否不是现有工作表(就像我用第 33 行:“Pass2”写这篇文章时的情况一样)。

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

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