- 发布日期:2025-02-03 00:22 点击次数:174
图片
欢迎转发和点一下“在看”,文末留言互动!
置顶公众号或设为星标及时接收更新不迷路
图片
朋友们好,今天来和大家分享一道计算题目,需要用到FREQUENCY这个函数。许多小伙伴还对这个函数不是特别熟悉,今天借这道题目再次重温一下FREQUENCY函数的用法。
原题目是这样的:
图片
有随机的100个数字,需要我们统计一下再任意相邻的两个3之间的距离大于5的个数。要求说完了,可是该怎样入手呢?
01
FREQUENCY函数计算间隔数
首先,我们需要找到这些数字中哪些是数字3,并且要知道这些3在1-100这个自然数序列中对应的位置数值是哪些,接下来就可以用FREQUENCY函数来计频了。通过计频的结果来判断距离大于5的数量,最后求和间隔大于5的数量。
图片
在单元格H1中输入下列公式即可。
=COUNT(0/(FREQUENCY(ROW(1:100),(A1:A100=3)*ROW(1:100))>5))-2-IF(MATCH(3,A1:A100,)>5,1,0)
在这条公式中FREQUENCY函数尽显其强大的功能。
(A1:A100=3)*ROW(1:100)
这部分就是前面提到的,找到数字3在1-100的自然数序列中对应的位置数值。这份部分返回的结果是
{0;0;0;0;0;0;0;0;0;0;0;12;13;14;0;0;0;0;0;0;0;22;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;40;0;0;0;0;45;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;72;0;0;0;0;0;0;0;0;0;0;0;84;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0}
FREQUENCY(ROW(1:100),(A1:A100=3)*ROW(1:100))
利用FREQUENCY函数在上面的序列中对1-100来计频。返回如下结果:
{0;0;0;0;0;0;0;0;0;0;0;12;1;1;0;0;0;0;0;0;0;8;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;18;0;0;0;0;5;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;27;0;0;0;0;0;0;0;0;0;0;0;12;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;16}。
朋友们请看,涂黄色的部分就是计频的结果。以第一个数值12的为例,它表示,在12这个位置上(该位置上的数值也是12),该位置之前的数值中,小于等于该位置上数字(12)的个数是12个。
FREQUENCY(ROW(1:100),(A1:A100=3)*ROW(1:100))>5
条件判断,看FREQUENCY函数的结果中有哪些是大于5的。从上面的黄色内容看,有6个数是大于5的。
COUNT(0/(FREQUENCY(ROW(1:100),(A1:A100=3)*ROW(1:100))>5))
这部分是一个常用技巧。返回的结果是6。0/部分将逻辑值TRUE转变为0,FALSE转变为错误值。而COUNT函数可以在忽略错误的情况下统计数值的个数。
然而这个公式还需要处理几个特例:
IF(MATCH(3,A1:A100,)>5,1,0)
判断第一个3出现的位置。原因是,如果第一次出现的位置小于等于5时,在做逻辑判断时就会把第一个3排除在外;
如果第一次出现的位置大于5时,FREQUENCY函数的计频结果就大于5,但这是一个假答案,因为它是第一个出现的3,因此它之前不会有另一个3和它间隔。
减2的问题:
请看最后一个计频结果16。它表示比最后一个3的位置还要大的数一共有16个。同理这也是一个假答案。实际上,这个也是需要用公式来判断的,但为了不使答案过于复杂,这里就简化为直接减去1了。如果在某种情况下最后一个计频结果小于等于5,那这里这个“1”是不用再减去的。
另外,我们求的是间隔数,而不是间隔点数。所以这里应该再减去1。
-END-
我就知道你“在看”
图片
推荐阅读一组经典文本公式送给你,重要时刻只需要复制经典!
总结篇--INDIRECT函数使用终极帖
SUMIFS函数、MMULT函数的经典套路技巧,累计求和是本质!
多条件求最大和值,这几种方法由简入繁,却都挺管用的!
要论跨界明星,除了NPV函数,就属这些家伙了!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。