我有一个这样的示例表:基
我想标记与前一个日期相比,相同ID的输出是否增加。请注意,数据仅按日期排序。
我一直试图找到正确的公式,以便它只 * 比较当前输出与前一日期相同ID的前一输出 * 与索引匹配函数,但没有运气。谢谢您的帮助。
=IF(AND(D2>INDEX($D$2:$D$9, MATCH(C2,$C$2:$C$9,0)-1), C2=INDEX($C$2:$C$9, MATCH(B2,$B$2:$B$9,0)-1)), "Flag", "")
qij5mzcb1#
试试下面的公式-
=IF(C2>TAKE(TAKE(FILTER($C$2:$C2,$B$2:$B2=B2,0),-2),1),"Flag","")
h4cxqtbf2#
下面是一个数组方法。在单元格D2中使用以下公式:
D2
=LET(A, A2:A9, B, B2:B9, C, C2:C9, MAP(A, B,C, LAMBDA(aa,bb,cc, LET( f, FILTER(C, (B=bb) * (A < aa),""), IF(OR(@f="", TAKE(f,-1)>=cc),"", "Flag")))))
下面是输出:
在每次MAP迭代中,我们通过等于bb的ID(B)过滤输出列(C),并且仅过滤之前的日期。要选择与之前日期对应的过滤输出(f),我们使用:TAKE(f,-1),即选择最后过滤的行(数据按日期升序排序),然后检查空条件:过滤结果为空(@f=""),即过滤条件下没有返回结果或输出不上升。
MAP
bb
B
C
f
TAKE(f,-1)
@f=""
2条答案
按热度按时间qij5mzcb1#
试试下面的公式-
h4cxqtbf2#
下面是一个数组方法。在单元格
D2
中使用以下公式:下面是输出:
在每次
MAP
迭代中,我们通过等于bb
的ID(B
)过滤输出列(C
),并且仅过滤之前的日期。要选择与之前日期对应的过滤输出(f
),我们使用:TAKE(f,-1)
,即选择最后过滤的行(数据按日期升序排序),然后检查空条件:过滤结果为空(@f=""
),即过滤条件下没有返回结果或输出不上升。