Excel 如何计算某个数字位于多组数字之间的所有实例?

Excel 如何计算某个数字位于多组数字之间的所有实例?,excel,excel-formula,Excel,Excel Formula,我想计算一个特定数字位于多个范围之间的次数 比如说, Specific number: 2.5 (let's say this one is in AD1) J3=14 K3=22 L3=0 M3=6 N3=6 O3=14 P3=2 Q3=8 我需要找出2.5的多少倍介于: J3&K3 L3&M3 N3&O3 P3&Q3 我之所以想要一个公式,是因为我有很多具体的数字,我需要在相同的范围内测试很多数字 我知道我可以组合多个CountIf,但是公式太长了 我记

我想计算一个特定数字位于多个范围之间的次数

比如说,

Specific number: 2.5 (let's say this one is in AD1)

J3=14
K3=22
L3=0
M3=6
N3=6
O3=14
P3=2
Q3=8
我需要找出2.5的多少倍介于:

J3&K3
L3&M3
N3&O3
P3&Q3
我之所以想要一个公式,是因为我有很多具体的数字,我需要在相同的范围内测试很多数字

我知道我可以组合多个CountIf,但是公式太长了

我记得我可以使用SumCountIfINSERTFORMULA,但我认为以某种方式使用SumCountiFinderFormula的组合会更容易阅读

SUM(Countif(MEDIAN($AD$1,J3,K3)=$AD$1,TRUE),MEDIAN($AD$1,L3,M3)=$AD$1,TRUE),MEDIAN($AD$1,N3,O3)=$AD$1,TRUE),MEDIAN($AD$1,P3,Q3)=$AD$1,TRUE))
预期结果:2,即L3和M3之间以及P3和Q3之间

尝试:编辑以更正输入错误

NIF1,{array}是一种使用索引函数返回数组的不连续元素的方法

根据在之间写入时是否要包括/排除范围的边界,可能需要从比较中删除等号。

尝试:编辑以更正键入错误

NIF1,{array}是一种使用索引函数返回数组的不连续元素的方法


根据写入时是否要包括/排除范围边界,您可能需要从比较中删除等号。

将公式分为两部分:

第一个-只需计算中间值$AD$1、J3、K3并将其放入J4中,然后在所有原始数据上拖动并复制此公式,因此K4中的中间值$AD$1、K3、L3,依此类推

第二个-用公式总结原始4-SUMA4:AA4
它在工作表上占用更多空间,但创建和检查更简单

将公式分为两部分:

第一个-只需计算中间值$AD$1、J3、K3并将其放入J4中,然后在所有原始数据上拖动并复制此公式,因此K4中的中间值$AD$1、K3、L3,依此类推

第二个-用公式总结原始4-SUMA4:AA4 它在工作表上占用更多空间,但创建和检查更简单

试试看:

=SUMPRODUCT((J3:P3<=AD1)*(K3:Q3>=AD1))
尝试:


就像这样的逻辑——我没有想过这样做。你说得对-我不想包含边界,所以我删除了=符号。非常感谢。啊,是的,您的编辑使返回的值成为正确的值,例如,对于M3和N3对,返回0,就像这种逻辑-没有想过这样做。你说得对-我不想包含边界,所以我删除了=符号。非常感谢。啊,是的,您的编辑使返回值成为正确的值,例如,对于M3和N3对,返回0就像此解决方案的简单性一样,特别是在范围偏移的情况下,这样它就可以生成sumproductcorrectly@newtovba这不会在所有情况下都起作用,因为它不会检查相关对。相反,它检查每个顺序对。例如,给定AD1=0.5,它将为M3和N3之间的匹配返回1,这不是您想要的。这个问题的扩展我应该问一个单独的问题吗?:有没有办法在其中嵌入if语句?原因是,范围(例如J3和K3)是时间的简化版本,例如22=晚上10点,6=早上6点,标准(例如AD1)是指定的时间,例如凌晨2:30。我的原始数据已经有583443行和19列,因此我不确定使用VBA或“查找/替换”将每个值转换为时间值是否会占用太多内存Excel文件的大小为80MBalready@RonRosenfeld啊,我没有想到在序列对之间测试这些数据,我在一个没有计算公式的Mac上公式来查看公式中的每个步骤是如何计算的。@RonRosenfeld,我不明白为什么如果AD1=0.5,它就不会返回正确的结果?对我来说,它返回1,这是因为0.5在L3和M3之间。对吗?喜欢这个解决方案的简单性,特别是范围的偏移,这样它就可以实现sum乘积correctly@newtovba这不会在所有情况下都起作用,因为它不会检查相关对。相反,它检查每个顺序对。例如,给定AD1=0.5,它将为M3和N3之间的匹配返回1,这不是您想要的。这个问题的扩展我应该问一个单独的问题吗?:有没有办法在其中嵌入if语句?原因是,范围(例如J3和K3)是时间的简化版本,例如22=晚上10点,6=早上6点,标准(例如AD1)是指定的时间,例如凌晨2:30。我的原始数据已经有583443行和19列,因此我不确定使用VBA或“查找/替换”将每个值转换为时间值是否会占用太多内存Excel文件的大小为80MBalready@RonRosenfeld啊,我没有想到在序列对之间测试这些数据,我在一个没有计算公式的Mac上公式来查看公式中的每个步骤是如何计算的。@RonRosenfeld,我不明白为什么如果AD1=0.5,它就不会返回正确的结果?对我来说,它返回1,这是因为0.5在L3和M3之间。正当
=SUMPRODUCT((J3:P3<=AD1)*(K3:Q3>=AD1))