MS Excel:计算空白单元格之间相似值的频率

MS Excel:计算空白单元格之间相似值的频率

我想统计一行中相同值的频率。值必须占据至少两个单元格,并且必须彼此相邻。

我想在这里发布图片,但我没有足够的声誉。无论如何,可以在此处找到屏幕截图:https://www.dropbox.com/s/1em9ltssc1ruw0u/stackOverflow_excelIssue_Countfrequencyofsimilarvaluesinbetweenblankcells.jpg?dl=0

J7:BE7 是人们输入值的地方 - 它对应时间,以 30 分钟为增量。

在同一张工作表的不同部分,在本例中,DD7:EY7 是我运行公式的地方。

此公式位于(第一列)DD7 -- COUNTIF(J7:$BE7,J7)

此公式位于(最后一列)EY7 -- COUNTIF(BE7:$BE7,BE7)

DD7 上的公式计算 J7 上的值从 J 列到 BE 在第 7 行出现的次数。

场景 1:如果“橙色”只出现一次,则此公式非常有效。以我的 K7:L7 为例。

场景 2:问题是当“橙色”再次出现在非连续的单元格上时。我的意思是,“橙色”出现在 K7:L7 上,然后它再次出现在 P7:Q7 上。

在场景 1 中,检查 K7:L7 的公式结果为 2,这是所需值。

在场景 2 中,检查 K7:L7 的公式结果为 4,因为它还会计算出现在 K7:L7 上的“橙色”。

我希望如果 M7 具有不同的值,计数就会停止。K7:L7 包含“橙子”,而 M7:N7 包含“苹果”。或者如果中间有一个空单元格,计数就会停止,例如 U7:V7 包含“番石榴”,而 T7 为空,则 X7:Y7 再次包含“番石榴”。

果实可能占据每行的二至四十八列。

我知道这很冗长,但我找不到其他方式来解释它,英语不是我的母语。

提前感谢您。

~马克

答案1

如果我正确理解了您的请求,以下公式将起作用。我的解决方案需要一个虚拟列和一个辅助行,但它们可以隐藏。此外,您只需做一点工作就可以消除虚拟列,并且可以将辅助行放在任何地方。

我假设您的客户姓名在第 2 行。我将使用 A 列作为虚拟列,因此预约数据从 B 列开始。第 3 行将是辅助行。在单元格 B3 中,输入公式:

=IF(B2="", "", IF(B2<>C2, 1, C3+1))

意义:

  • 若B2="",则该时间段的客户端名称为空白,表示这是一个空闲时间段,因此显示空白。
  • 否则,如果 B2<>C2,则此时间段和下一个时间段的客户不同(C2 可以为空也可以不为空),因此这是此约会的最后一个时间段。将其表示为 1。否则,向后计数,因此此约会的倒数第二个时间段为 2,倒数第三个时间段为 3,依此类推。

在单元格 B4 中输入:

=IF(A2<>B2, B3, "")
  • 如果 A2<>B2,则此时间段与前一个时间段的客户不同(A2 可以为空也可以不为空),因此这是此约会的第一个时间段。显示 B3,显示此约会有多少个时间段(半小时)。否则,显示空白。

以下是使用以下公式的数据:

       
                (上图链接至完整图片。)

我改变了 GUAVA 数据以更好地说明其工作原理:

                                                               

您说“该值必须占据至少两个单元格...”。如果我理解正确的话,您可以将第 4 行的公式更改为:

=IF(AND(A2<>B2,B3>1), B3, "")

即,仅当 B3 值 > 1 时才显示它。这将在第 4 行显示第 4 行的第一个公式,在第 5 行显示修改后的公式:

       

相关内容