我需要找到符合条件的每个特定日子(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 行,如果有更多行,只需增加其中的数字。