220 多个excel快捷键速查表,适用Windows和Mac。工作效率提高10倍。免费下载>>>
下载 “excel快捷键速查表” Excel快捷键速查表.zip – 已下载54次 – 3 MB
通用公式
要对整数值进行计数或求和,可以使用基于SUMPRODUCT和MOD函数的公式。在所示示例中,G5 中的公式为:
其中shares是命名范围C5:C15。
在此示例中,目标是计算持有整数股份的人数。例如,Bob 持有 100 股(偶数),因此应将他计入整数计数,而 Cindy 持有 50.5 股,因此不应将她计入整数计数。
第一个问题是如何确定整数。这可以通过此处详细说明的INT、TRUNC或 MOD 函数来完成。在上面显示的这个例子中,我们使用了MOD 函数选项:
既然我们知道如何测试一个整数,那么我们如何使用这种方法来获得一个计数 of whole numbers? You might at first be tempted to use the COUNTIF or COUNTIFS functions. However, these functions won’t let you use an array* in place of the range argument, so COUNTIF won’t work:
* MOD(shares,1) 在技术上是一个返回值数组的数组操作 。 有关COUNTIF、SUMIF 等限制的更多信息,请参阅本文。
相反,我们需要一种直接使用布尔逻辑处理数组的方法。布尔逻辑是一种构建公式的技术,它利用数学运算中的 TRUE = 1 和 FALSE = 0 这一事实。在显示的示例中,这就是 G5 中的公式所做的:
从内到外,我们首先通过上面显示的 MOD 测试运行所有值:
因为share (C5:C15)中有 11 个值 ,所以我们在这样的数组 中得到 11 个结果:
{TRUE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;TRUE;TRUE}[/tab][/tabs]
在此数组中,TRUE 值表示整数,FALSE 值表示十进制数。接下来,我们需要将 TRUE 和 FALSE 值转换为 1 和 0。为此,我们使用双重否定(–):
此操作返回一个仅由 1 和 0 组成的数值数组:
这正是我们计算整数所需要的。该数组直接返回给SUMPRODUCT 函数:
只需处理一个数组,SUMPRODUCT 返回数组中所有项目的总和 7,即 C5:C15 范围内的整数的计数。
计算十进制值
要将公式更改为使用十进制值计算数字,我们只需将 MOD 片段中的逻辑运算符从等号 (=) 更改为不等于 (<>) 运算符。G6中的公式:
请注意,对公式的唯一更改是逻辑运算符。
合计整数股
仅对整数求和,我们需要通过将上面解释的布尔数组乘以命名范围 份额中的值来稍微扩展公式。H5中的公式计算整数组的总股数:
请注意,公式与上面几乎相同。结果是零值有效地抵消了十进制组中的份额:
=SUMPRODUCT({1;0;0;1;1;1;1;0;0;1;1}*{100;50.5;110.75;25;50;75;50;60.25;120.75;100;50})
=SUMPRODUCT({100;0;0;25;50;75;50;0;0;100;50}) =450
合计整数份额值
要将与整数份额相关的值相加,我们需要再次调整公式。这一次不是将布尔数组乘以份额,而是乘以值。I5 中的公式为:
公式以完全相同的方式求解:
=SUMPRODUCT(—(MOD(shares,1)=0)*value)
=SUMPRODUCT({1;0;0;1;1;1;1;0;0;1;1}*{2500;1262.5;2768.75;625;1250;1875;1250;1506.25;3018.75;2500;1250}) =SUMPRODUCT({2500;0;0;625;1250;1875;1250;0;0;2500;1250}) =11250
如上,布尔数组中的零值抵消了非整数份额的值,SUMPRODUCT 返回的最终结果为 11250。
SUM 还是 SUMPRODUCT?
为什么我们使用 SUMPRODUCT 而不是SUM 函数?这是个好问题。
在旧版本的 Excel(除Excel 365之外的任何版本)中,使用 SUM 的相同公式也有效,但必须使用 Control + Shift + Enter作为数组公式输入。在 Excel 365 中,SUM 可以正常工作,因为Excel 365 原生处理数组。使用 SUMPRODUCT 可确保公式适用于所有版本的 Excel,而无需 Control + Shift + Enter。
220 多个excel快捷键速查表,适用Windows和Mac。工作效率提高10倍。免费下载>>>