Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel避免嵌套的if语句_Excel_Excel Formula - Fatal编程技术网

Excel避免嵌套的if语句

Excel避免嵌套的if语句,excel,excel-formula,Excel,Excel Formula,我在Excel中有一个数据表,其中有几列到一行数据。在这些栏目中我有日期。 这些日期显示项目通过特定标准的时间。是否有一种方法(通过公式)让excel查看一行中的每一列,并只说出最新日期 目前我正在使用这个怪物: =IF(X3="",IF(W3="",IF(V3="",IF(U3="",IF(S3="",IF(R3="",IF(Q3="",IF(P3="",IF(O3="",IF(N3="","No Dates",N3),O3),P3),Q3),R3),S3),U3),V3),W3),X3)

我在Excel中有一个数据表,其中有几列到一行数据。在这些栏目中我有日期。 这些日期显示项目通过特定标准的时间。是否有一种方法(通过公式)让excel查看一行中的每一列,并只说出最新日期

目前我正在使用这个怪物:

=IF(X3="",IF(W3="",IF(V3="",IF(U3="",IF(S3="",IF(R3="",IF(Q3="",IF(P3="",IF(O3="",IF(N3="","No Dates",N3),O3),P3),Q3),R3),S3),U3),V3),W3),X3)
它很好用,但我在找更优雅一点的


请,谢谢。

突出显示日期行并选择“值字段设置”选项,然后按最大值汇总值字段。Excel将自动生成计算最新日期所需的公式。

突出显示日期行并选择“值字段设置”选项,然后按最大值汇总值字段。Excel将自动生成计算最新日期所需的公式。

如果需要最新日期,请使用

=MAX(N2:X2)
如果需要最右边的日期,请使用此数组公式

=INDEX(A2:X2,1,MAX((NOT(ISBLANK(N2:X2)))*(COLUMN(N2:X2))))

使用Ctrl+Shift+Enter输入数组公式,而不仅仅是Enter。Is查找非空的最大列并将其插入索引中。

如果需要最新日期,请使用

=MAX(N2:X2)
如果需要最右边的日期,请使用此数组公式

=INDEX(A2:X2,1,MAX((NOT(ISBLANK(N2:X2)))*(COLUMN(N2:X2))))

使用Ctrl+Shift+Enter输入数组公式,而不仅仅是Enter。Is查找不为空的最大列并将其插入索引中。

如果要在第1行中查找最新日期:

=MAX(1:1)  
=INDEX(1:1,MATCH(1E+100,1:1))
如果希望第1行中最右边的日期:

=MAX(1:1)  
=INDEX(1:1,MATCH(1E+100,1:1))

如果您想要第1行中的最近日期:

=MAX(1:1)  
=INDEX(1:1,MATCH(1E+100,1:1))
如果希望第1行中最右边的日期:

=MAX(1:1)  
=INDEX(1:1,MATCH(1E+100,1:1))

这些列总是按顺序填写,这是真的吗?特别是,日期是否会在进入C列之前进入B列?另外,要明确的是,你想要的是“最右边”的日期,而不是“最近”的日期?如果我看起来不清楚,很抱歉。事实上,我想要的是“最后的”(或是最远的未来),而不是最正确的。还需要始终返回日期值,因为有时在日期字段中可能会写入日期以外的内容。列是否总是按顺序填充?特别是,日期是否会在进入C列之前进入B列?另外,要明确的是,你想要的是“最右边”的日期,而不是“最近”的日期?如果我看起来不清楚,很抱歉。事实上,我想要的是“最后的”(或是最远的未来),而不是最正确的。还需要始终返回日期值,因为有时在日期字段中可能会写入日期以外的内容。用谷歌搜索当前版本的Excel。它根据您的年份而变化。对不起,在我的测试用例中,我使用了一个数据表,这是窗格中的选项。如果不是表格,请按照pnuts的回答使用max。用谷歌搜索当前版本的Excel。它根据您的年份而变化。对不起,在我的测试用例中,我使用了一个数据表,这是窗格中的选项。如果不是表格,请使用max,正如pnuts所回答的。我也是从MATCH开始的。除非对数据进行排序,否则MATCH将无法可靠工作,在这种情况下,MAX将返回最右边的值。@DickKusleika除非您在特定范围内有特定的值进行匹配,否则我看不到任何与
MATCH
不可靠工作的内容。好吧,我无法使其中断。我认为二进制搜索是从中间开始的,在某些情况下会过早地用未排序的数据停止。但我不能让它失败,所以我不能像我想的那样理解它。我也是从比赛开始的。除非对数据进行排序,否则MATCH将无法可靠工作,在这种情况下,MAX将返回最右边的值。@DickKusleika除非您在特定范围内有特定的值进行匹配,否则我看不到任何与
MATCH
不可靠工作的内容。好吧,我无法使其中断。我认为二进制搜索是从中间开始的,在某些情况下会过早地用未排序的数据停止。但我不能让它失败,所以我不能像我想的那样理解它。结果我只需要Max,谢谢你简单的回答。试着让奇妙的索引数组公式发挥作用,只是为了让我理解它。有困难的。但是谢谢你,我只需要马克斯,谢谢你简单的回答。试着让奇妙的索引数组公式发挥作用,只是为了让我理解它。有困难的。但是谢谢你