大家好,今日我们来聊聊一篇关于offset函数,offset函数什么意思的文章,希望对大家有所帮助
好了,今天分享一篇关于过滤状态下的计算套路的文章。
1.过滤后添加序列号。
如下图所示,为了在筛选状态下保持连续序号,我们可以先取消筛选,在D2单位的深证生活网格中输入如下公式,然后下拉3360。
=小计(3,E:E2)-1
SUBTOTAL函数只计算可见单元格的内容。
第一个参数用3,表示COUNTA函数的计算规则,即计算第二个参数的可见单元格个数。
第二个参数使用E:E2的动态扩展范围,将变成E:E3,E:E4,E:E5,…
公式总是计算从第一行到公式所在行的区域中可见的非空单元格的数量。如果从结果中减去1,计算出的结果将与序列号相同,并在过滤后保持连续。
注意,请注意,如果你把这个公式从=SUBTOTAL(3,E:E2)改过来,也就是从公式所在的行开始,序号结果就没问题了,但是最后一行在过滤过程中总是会被Excel显示为汇总行。
2.筛选后倍增。
如下图所示,过滤E列后,需要计算总数量乘以单价。
单元格E2的公式是:
=SUMPRODUCT(SUBTOTAL(3,OFFSET(E3,ROW(1:13)))* f 4: F16 * g 4:g 16)
过滤产品的关键是确定数据是否可见。
如何判断这种可见的状态?
您需要将偏移和小计功能结合起来。
首先利用偏移函数,以E3像素为基点,依次下移1~13行,获得多维参考。该多维引用包含一行一列的13个引用区域,即引用从E4到E16的单个深证生活网元网格。
接下来,使用SUBTOTAL函数,第一个参数是3,即依次计算从E4到E16的每个单元格中可见单元格的个数。如果显示单元格,则该单元格的统计结果为1;否则,统计结果为0。内存阵列:具有如下类似效果
{1;0;1;1;1;1;0;0;1;1;0;1;0}
将上述结果乘以F列的数量和G列的单价,如果显示单元格,则相当于1*数量*单价;否则相当于0*数量*单价。
最后用SUMPRODUCT函数对乘积求和。
3.筛选后,根据条件进行计数。
如下图,筛选完E列的部门后,要计算出资历大于3的人数。
单元格E2的公式是:
=SUMPRODUCT(SUBTOTAL(3,OFFSET(E3,ROW(1:13)))*(g 4:g 16 gt;3))
前半部分的计算原理和上面的例子一样,核心是判断单元格是否可见。
公式后半部分的统计条件(G4: G16 : 3)乘以前半部分的判断结果,表示两个条件同时满足,即状态的G列数大于3。
4.过滤后自动更正标题。
如下图,过滤E列的部门名称后,希望单元格D1的标题自动改为对应的部门名称,公式为:
=LOOKUP(1,0/SUBTOTAL(3,OFFSET(D1,ROW(1:15)-1)),e : e)amp;\ '统计表\ '
SUBTOTAL和OFFSET函数组合的目的仍然是确定D列中的单元格是否可见。得到由0和1组成的内存数组3360。
{0;1;0;0;0深圳生活网;0;1;1;1;1;0;1;0;1;0}
使用内存数组0/获得一个由0和错误值组成的新内存数组:
{#DIV/0!0;#DIV/0!……;0;0;0;0;#DIV/0!0;#DIV/0!0;#DIV/0!}
LOOKUP函数以1为查询值,在上述内存数组中找到最后一个0的位置,并返回E列在相应位置的内容。
最终目标是在过滤后提取最后显示的单元格的内容。
将提取的内容与quot统计表连接起来,成为可以自动更新的表标题。
以上就是offset函数(offset函数什么意思)这篇文章的一些介绍,网友如果对offset函数(offset函数什么意思)有不同看法,希望来共同探讨进步。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!