Excel公式可计算过滤列中前n%个可见行的总和

时间:2019-06-04 12:50:20

标签: excel-formula

Example sheet

正如标题中所述,我想计算过滤列中前n%行的总和。列的总行数因过滤选项而异,因此我的公式必须使用不同的n值。

例如: 在A列中,我有10行包含从10到1的值(我按从大到小的顺序对它们进行排序)。 在B列中,我有10个对应的行,其中包含2个名称:其中4个包含值“ Tom”,其中6个包含值“ Jerry”。当我筛选整个表格并仅选择包含值“ Jerry”的行时,我希望能够计算对应的6个数字值中前20%的总和。

3 个答案:

答案 0 :(得分:0)

因此,在没有您的数据的情况下,我想出了这一点,请根据您的情况进行修改...

因此,根据评论,我做了第二个版本:

enter image description here

C列中的helper列与sumproduct一起使用以得出结果...

答案 1 :(得分:0)

您可以将SUGGFS的AGGREGATE中的百分位数功能用于执行您想要的操作:

<div class="container">
    <div class="col-md-4">
        <?php $this->load->helper('form'); ?>
        <?php echo form_open('checkLogin'); ?>
        <?php echo form_error('bad_login'); ?>
        <?php echo form_error('username'); ?>
        <div class="form-group">
            <?php echo form_label('Usuario:'); ?>
            <?php echo form_input(array('id' => 'username', 'name' => 'username', 'class'=>'form-control', 'placeholder'=>"Nombre de usuario")); ?>
        </div>
        <?php echo form_error('pass'); ?>
        <div class="form-group">
            <?php echo form_label('Contraseña:'); ?>
            <?php echo form_password(array('id' => 'pass', 'name' => 'pass', 'class'=>'form-control', 'placeholder'=>"Contraseña")); ?>
        </div>
        <?php echo form_submit(array('id' => 'submit', 'value' => 'Enviar', 'class'=>'btn btn-primary')); ?>
        <?php echo form_close(); ?>
    </div>
</div>

enter image description here


如果您想使用过滤器来做决定:

=SUMIFS(A:A,B:B,"Jerry",A:A,">="&AGGREGATE(16,7,A1:A10/(B1:B10="Jerry"),0.8))

enter image description here enter image description here

答案 2 :(得分:0)

如果不需要的话,可以不进行任何过滤。

enter image description here

假设E1中B列的条件和F1中所寻找的百分比,并假设我们要将百分比四舍五入为整数。

所以D1中的公式:

=SUMPRODUCT(LARGE((B2:B11=E1)*(A2:A11),ROW(A1:INDEX($A:$A,ROUNDUP(COUNTIF(B2:B11,E1)*F1,0)))))