如何让 Excel 从与不同列中的最后一个“YES”对应的列中返回日期

如何让 Excel 从与不同列中的最后一个“YES”对应的列中返回日期

我正在尝试开发一个电子表格工具来帮助跟踪专业机组人员的培训时效。为了在所有培训中被视为“最新”,飞行员必须在规定的时间内完成各种培训活动。

例如,如果一名机组人员有 30 天的触地复飞训练时间,那么他希望知道在何时必须完成下一次触地复飞事件,否则将失去当前资格。

考虑以下培训活动(1-5)、日期和“是/否”回答的电子表格,是否有一个公式可以返回给定事件的最近日期?

          1   2   3   4   5
01/03/14|YES|NO |YES|NO |YES|
01/05/14|NO |NO |YES|YES|NO |
01/12/14|YES|YES|YES|YES|NO |
01/15/14|YES|NO |NO |NO |NO |
01/21/14|NO |NO |YES|YES|NO |
01/25/14|NO |YES|YES|NO |NO |

鉴于上述伪表,我希望 Excel 返回以下值:

活动 1:2014 年 1 月 15 日
活动 2:2014 年 1 月 25 日
活动 3:2014 年 1 月 25 日
活动 4:2014 年 1 月 21 日
活动 5:2014 年 1 月 3 日

这可能吗?

答案1

是的,这是可能的。在每个训练事件列中输入以下内容:

=MAX(IF(C3:C8="YES",$B$3:$B$8))

这是适用于事件 1 的公式。假设日期在 B 列,事件数据从 C 列开始。

这需要作为数组公式输入,因此点击Ctrl++ 。ShiftEnter

答案2

是的,结合最大限度如果、数组公式

=MAX(IF(B2:B7="YES",A2:A7))

这是一个数组公式,输入后必须按++ctrl才能出现花括号。shiftenter

如果它显示为数字,请务必将格式改回日期。

答案3

您可以使用LOOKUP不需要“数组输入”的格式。假设 A 列中的日期

=LOOKUP(2,1/(B2:B7="Yes"),$A2:$A7)

注意:这将“按位置”找到最后一个值 - 假设您的日期按照您的示例按升序排列,这将与按时间顺序排列的最后一个值相同

相关内容