有几个问题。但是,让我分解一下我正在尝试解决的问题:
- 我有一个条件,如果满足某个值,则显示 YES/NO。如果 YES >= 60 且 NO <=30 - 这很容易,我可以做到这一点
- 它通常会生成几个连续的行或“群集”。我想显示 YES 组中的第一行。我该如何在该分组中执行此操作?(参见图中的条件 2)
- 相同,但为 NO(参见条件 3)。
- 从那里,我想查找 NO 的值(图像中的值 1,即 0.13)并查找最后一个(或组中的“第一个”)YES(其值 = 0.123 并取差值。我该怎么做?这应该是 A9 - A3。
- 重复直至结束。
答案1
这是一个稍微不同的方法,可以产生您需要的相同输出。
- C 列中的公式(跟踪每组第一个 YES):
=IF(IFERROR(VALUE(C1),0)>0,IF(D2>0,0,C1),IF(B2>=60,ROW(),0))
- D 列中的公式(用于跟踪每组第一个 NO):
=IF(IFERROR(VALUE(C1),0)>0,IF(IFERROR(VALUE(D1),0)>0,D1,IF(B2<=30,ROW(),0)),0)
- E列中的公式(计算差值):
=IF(AND(D2>0,IFERROR(VALUE(C1),0)>0),OFFSET($A$1,C1-1,0)-OFFSET($A$1,D2-1,0),"")
如果您需要完全相同的列,您可以隐藏 C 列和 D 列,然后使用 YES 和 NO 轻松创建新的列。