在 Excel 中查找连续的条纹

时间:2021-03-04 12:16:35

标签: excel

我在 Excel 中有数千行。在六列中,我有百分比值。 例如:[68%][92%][72%][109%][55%][86%]

在这些行中,我想从右侧找到低于或高于 100% 的值的最长连续记录

[68%][92%][72%][109%][55%][86%] 连续 2 次低于 100% -> 低于 2

[62%][101%][43%][65%][78%][111%] 连续 1 次高于 100% -> 高于 1

[89%][108%][55%][114%][111%][120%] 连续 3 次高于 100% -> 高于 3

[---][---][---][---][147%][154%] 连续 2 次高于 100% -> 高于 2 >

[---][---][---][---][---][45%] 连续 1 次低于 100% -> 低于 1< /p>

[116%][58%][89%][66%][33%][74%] 连续 5 次低于 100% -> 低于 5

在“计算 Excel 行中的当前连续性”中没有完全找到我要找的内容 Calculate current streak in Excel row

COUNTIF($KJ2341:$KO2341;"<1") 这给了我低于 1 的总数,但我只从右边寻找连续。

你能帮忙吗?

1 个答案:

答案 0 :(得分:1)

我假设您想将任何恰好是 100% 的组与 above 组进行分组。如果情况并非如此,请具体说明您希望如何处理。

这是一种方法,假设第六列总是有定义条目:

请注意,如果您的数据从 A 以外的列开始,则可能需要修改公式

编辑:公式更改为处理部分填充的行

=IF(F1>=1,"Above ","Below ") &  IFERROR(COLUMNS($A:$F)- LOOKUP(2,1/IF(F1>=1,A1:F1<1,A1:F1>=1),COLUMN($A:$F)),COUNT(A1:F1))

enter image description here

如果第六列不总是最后一个条目,公式解仍然可能;但如果您有 Office 365,则更容易。

  • F1 > 1 确定我们是在寻找连续的上图还是下图
  • A1:F1>1(或 <=1)根据满足条件创建适当的 {TRUE,FALSE} 数组。
  • 1/(the array) 将其更改为 {1,DIV/O}
  • 的数组
  • LOOKUP(2,the_array,array of column_numbers) 返回与我们设置的原始数组中最后一个 TRUE 匹配的列号。
  • 然后就是简单的减法,使用 IFERROR 来处理连续中只有一个条目的情况。
  • 如果公式返回错误,则所有条目都相同(或空白);所以我们可以在出现错误时使用稍微不同的公式。
相关问题