需要帮助在 Excel 中创建嵌套 IF 函数

需要帮助在 Excel 中创建嵌套 IF 函数

我正在设计一个收缩规划器。需要根据单元格的值抛出输出。

要求

我需要根据员工姓名和收缩类型获取单元格的值。这是我写的公式。

=if(F10="January",VLOOKUP(F13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,4,0,(if(f10="February",VLOOKUP(F13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AD,6,0,(if(f10="March",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,8,0,(if(f10="April",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,10,0,(if(f10="May",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,12,0,(if(10="June",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,14,0,(f10="July",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,16,0,(iff10="August",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,18,0,(if(f10="September",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,20,0,(if(f10="October",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,22,0,(iff10="November",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,24,0,(VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,26,0)))))))))))

抛出一个错误,表示我为该函数输入了太多参数。

答案1

我发现了一些问题。

首先,您的 IF 函数只有两个参数。例如,最外层的 IF 状态具有以下参数:

F10="January",
VLOOKUP( ... )

为了正确格式化,您应该有一个条件、一个通过值和一个失败值。

此外,您的 VLOOKUP 函数有 5 个参数。例如,第一个 VLOOKUP 具有以下参数:

F13,
'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,
4,
0,
(IF( f10 = "February", .... ))

我认为您的意图是让 VLOOKUP 成为通过值,而下一个 IF 语句成为失败值。如果这是正确的,您应该按如下方式构造它:

=IF(F10="January",VLOOKUP(F13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,4,0), IF(F10="February", <next VLOOKUP>, <next IF>))

特别是,确保您关闭 VLOOKUP,而不是意外地在其中嵌入下一个 IF。

除此之外,您的表达式中还有各种拼写错误和缺失函数。您在某个地方求值10="June",而在另一个地方求值iff10="August"

答案2

正如评论中所提到的,您需要在记事本或类似程序中分解公式,并且可以通过以下方式输入轻松分解公式......

=if(F10="January",VLOOKUP(F13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,4,0,

(if(f10="February",VLOOKUP(F13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AD,6,0,

(if(f10="March",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,8,0,

(if(f10="April",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,10,0,

(if(f10="May",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,12,0,

(if(10="June",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,14,0,

(f10="July",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,16,0,

(iff10="August",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,18,0,

(if(f10="September",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,20,0,

(if(f10="October",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,22,0,

(iff10="November",VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,24,0,

(VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,26,0)))))))))))

为了调试目的,取出所有右括号最后离开

(VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,26,0

这样它就与您之前的部分相匹配。

第一部分提供了单元格是否等于的条件。第二部分及以后的部分提供了单元格是否F10等于的条件。"January"

然后,第二部分提供单元格是否F10等于的条件"February"。第三部分及以后是如果不等于的条件……等等。

让我们看看你的第一部分。这看起来不错,除了你的VLOOKUP没有关闭。你需要在末尾添加一个右括号来关闭它。在末尾的逗号前添加它以使

=if(F10="January",VLOOKUP(F13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,4,0),

其他部分也有同样的问题。对每个部分都执行相同的操作,但最后一部分除外,最后一部分需要在最后添加一个右括号。

对于第二部分及以后的部分,删除开头的所有左括号。 你不需要它们这进一步加剧了混乱。

从第 2 节开始,阅读其余部分时,剩下的部分就很简单了。

第 6 节(6 月)您没有F单元格引用F10

第7节(七月)你没有IF一开始

第 8 节(8 月)您尚未打开该IF()功能,因此需要在后面添加一个左括号IF。第 11 节(11 月)也是如此。

现在您的部分看起来不错,您需要关闭所有IF()功能,因为它们仍然打开(末尾没有右括号)。

计算IF语句数量,并在最后一节末尾添加相应数量的右括号。IF本例中语句数量为 11 条,因此在已经有右括号的情况下,需要在末尾添加 12 个右括号,剩下

VLOOKUP(f13,'[Team Spartans Attendance Planner - Data Extaction File.xlsm]Rep Wise Shrinkage Mthly'!$C:$AC,26,0))))))))))))

现在,您需要将各个部分重新连接在一起,形成一个IF()可以起作用的嵌套公式。

相关内容