我有两个嵌套的IF语句。。
<代码>=如果($B3=$K$3,日期(年(D3)$L$3,月(D3)$M$3,天(D3)),如果($B3=$K$4,日期(年(D3)$L$4,月(D3)$M$4,天(D3)),如果($B3=$K$5,日期(年(D3)$L$5,月(D3)$M$5,天(D3)),如果($B3=$K$6,日期(年(D3)$L$6,月(D3)$M$6,天(D3)),“”)
和
=IF($C3=$O3美元,DATE(YEAR(D3)$P3美元,MONTH(D3)$Q3美元,天(D3)),IF($C3=$O4美元,DATE(YEAR(D3)$P4美元,MONTH(D3)$QUD美元,天(D3)),IF($C3=$O5美元,DATE(YEAR(D3)$P5美元,MONTH(D3)$Q5美元,天(D3)),"")))
按要求分为两列。我想再次嵌套它们,以便根据从数据验证下拉框(下面的选项1或选项2)中所做的选择,显示从第一个选项或第二个选项计算的日期。这就是我所拥有的,但我无法让它发挥作用。我想我需要一个OR,但我不知道在哪里,因为已经有这么多的IF了。
=IF($I2美元="Choice1",IF($B3=$K3美元,DATE(YEAR(D3)$L3美元,MONTH(D3)$M3美元,天(D3)),IF($B3=$K4美元,DATE(YEAR(D3)$L4美元,MONTH(D3)$M4美元,天(D3)),IF($B3=$K5美元,DATE(YEAR(D3)$L5美元,MONTH(D3)$M5美元,天(D3)),IF($B3=$K6美元,DATE(YEAR(D3)$L6美元,MONTH(D3)$M6美元,天(D3))),IF($I2美元="Choice2",IF($C3=$O3美元,DATE(YEAR(D3)$P3美元,MONTH(D3)$Q3美元,天(D3)),IF($C3=$O如果($C3=$O5美元,日期(年(D3)$P5美元,月(D3)$Q5美元,日(D3))),""))))))
如果这只是一列日期,我可以使用这个...
=IF($I2美元="Choice 1",$E4, IF($I2美元="Choice 2",$F4,""))
有几个辅助列,但我可能有多达10个,这将需要20个辅助列在已经有70多个列宽的电子表格上,如果可能的话,我宁愿避免这样做。我已经在测试工作表上完成了这一点,而不是现在弄乱原始工作表。
编辑所需的其他信息。(编辑为通用术语,因为它是一个工作项目)
我有这些柱子
并使用以下下拉菜单。。
希望“选项1或2增加”中的日期根据从两组类别下拉列表中选择的“选项1”或“选项2”信息进行更新。。
该公式从第一个日期下拉列表中获取信息,并正确计算新日期<代码>=如果($B3=$K$3,日期(年(D3)$L$3,月(D3)$M$3,日(D3)),如果($B3=$K$4,日期(年(D3)$L$4,月(D3)$M$4,日(D3)),如果($B3=$K$5,日(年(D3)$L$5,月(D3)$M$5,日(D3)),如果($B3=$K$6,日(年(D3)$L$6,月(D3)$M$6,日(D3)$6,日)日(D3)),“”)
类别1-4,按顺序,是这个公式的四个日期部分。
此公式从第二个日期下拉列表中获取信息并正确计算新日期...
=IF($C3=$O3美元,DATE(YEAR(D3)$P3美元,MONTH(D3)$Q3美元,天(D3)),IF($C3=$O4美元,DATE(YEAR(D3)$P4美元,MONTH(D3)$QUD美元,天(D3)),IF($C3=$O5美元,DATE(YEAR(D3)$P5美元,MONTH(D3)$Q5美元,天(D3)),"")))
类别5-7,按该顺序为该公式的三个日期部分。
当彼此独立地用于填充单个列时,这两个公式都可以正常工作,并且可以使用第三列来使用以下公式获取所需的日期(使用已经在两个“助手”列中单独提供的日期)...
=IF($I2美元="Choice1",$E3, IF($I2美元="Choice2",$F3,""))
我希望能够以某种方式结合上述两个公式的操作,以便通过使用选择1/选择2下拉列表(图2),它根据该下拉框中的选择以及其他两个下拉框(图3 4)计算日期,并填充“选择1或2增加”列(图1)
如果我只使用这一个示例,我会只使用辅助列,但会有几个,并且工作表已经有大约70列宽。将这两个公式组合成一个(至少是操作),将节省大量额外的列。
我希望这就是你需要的信息。。
谢啦
利亚姆
匿名用户
我会以不同的方式设置,并使用不同的公式。
由于您的类别和选择不重叠,我将把所有类别合并到一个表中。
例如:
由于年和月都有不同的天数,我建议使用EDATE进行添加。
我还在下拉列表中使用了一个命名范围,
和一个用于类别表的表。
这样做,您可以使用这个公式(假设您的数据表位于A1: Cn
中)
=EDATE(C2,VLOOKUP(INDEX($A2:$B$5,1,MATCH(Choice,$A$1:$B$1,0)),Category,2,FALSE)*12 + VLOOKUP(INDEX($A2:$B$5,1,MATCH(Choice,$A$1:$B$1,0)),Category,3,FALSE))
公式
匹配
决定使用类别选择的哪一列
VLOOKUP
返回适当的年份和月份
- EDATE(日期,年*12个月)
如果您喜欢使用添加日期值的方法,可以应用相同的方法:
=DATE(YEAR(C2)+VLOOKUP(INDEX($A2:$B$5,1,MATCH(Choice,$A$1:$B$1,0)),Category,2,FALSE),MONTH(C2)+VLOOKUP(INDEX($A2:$B$5,1,MATCH(Choice,$A$1:$B$1,0)),Category,3,FALSE),DAY(C2))
请注意,这两种方法可以根据月份的哪一天以及结束月份是否与开始月份具有相同的天数给出不同的结果。
例如:
31 January 2020 + 1 month --> 29 Feb 2020 vs 02 Mar 2020
31 January 2020 + 3 month --> 30 Apr 2020 vs 01 May 2020
前面章节中,详细介绍了 3 种形式的条件语句,即 if、if else 和 if elif else,这 3 种条件语句之间可以相互嵌套。 例如,在最简单的 if 语句中嵌套 if else 语句,形式如下: if 表达式 1: if 表示式 2: 代码块 1 else: 代码块 2 再比如,在 if else 语句中嵌套 if else 语句,形式
Swift 条件语句 在 Swift 语言中,你可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 语法 Swift 语言中 嵌套 if 语句的语法: if boolean_expression_1 { /* 当 boolean_expression_1 表达式 true 时执行 */ if boolean_expression_2 {
C++ 判断 在 C++ 中,嵌套 if-else 语句是合法的,这意味着您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 语法 C++ 中 嵌套 if 语句的语法: if( boolean_expression 1) { // 当布尔表达式 1 为真时执行 if(boolean_expression 2) { // 当布尔
在Objective-C编程中nest if-else语句总是合法的,这意味着你可以在另一个if或else if语句中使用if或else if语句。 语法 (Syntax) nested if语句的语法如下 - if( boolean_expression 1) { /* Executes when the boolean expression 1 is true */ if(bool
在Pascal编程中嵌套if-else语句总是合法的,这意味着你可以在另一个if或else if语句中使用if或else if语句。 Pascal允许嵌套到任何级别,但是,如果依赖于特定系统上的Pascal实现。 语法 (Syntax) 嵌套if语句的语法如下 - if( boolean_expression 1) then if(boolean_expression 2)then S1 e
在Swift 4中嵌套if-else语句总是合法的,这意味着你可以使用一个if else if else if语句。 语法 (Syntax) nested if语句的语法如下 - if boolean_expression_1 { /* Executes when the boolean expression 1 is true */ if boolean_expression_2 {