确定 Excel 中每个日期的第一个和最后一个合格记录

确定 Excel 中每个日期的第一个和最后一个合格记录

我需要找到符合条件的每个特定日子(A 列)的第一天和最后一天(B 列)。

在CI列中需要写“第一个”或“最后一个”。

A     B    C
date  use  result
-----------------
1-1   yes  last
2-1   no
2-1   yes  first
2-1   no
2-1   yes
2-1   yes  last
2-1   no  
3-1   no
3-1   yes  first

日期已排序。如果只有一条日期记录符合条件(例如本例中的 1-1 或 3-1),则可以将其标记为“第一个”或“最后一个”,以采用的方法最简单的为准;在这种情况下,标签的选择并不重要(尽管符合条件的记录需要标签,例如 3-1 的情况)。

有什么方法建议吗?

答案1

计算公式如下:
=IF(B2="yes",IF(COUNTIFS($A$1:A1,A2,$B$1:B1,"yes")=0,"first",IF(COUNTIFS(A3:$A$10000,A2,B3:$B$10000,"yes")=0,"last","")),"")

它看起来很复杂,但它非常简单地完成了你所解释的事情:

  • 如果该行的 B 列包含“是”,则
    • 检查实际行是否是同一天的第一行,答案为“是”
      • 如果是,则给出“第一”(如果一天只有一行符合条件,则该行排在第一位)
      • 否则检查实际行是否是同一天的最后一行,答案为“是”
        • 如果是,则给出“最后”
        • 如果不是,则将单元格留空
    • 否则(如果 B 列为“否”)保留单元格为空白

该公式目前仅适用于最多 10,000 行,如果有更多行,只需增加其中的数字。

在此处输入图片描述

相关内容