Excel从列中提取和平均值

Posted

技术标签:

【中文标题】Excel从列中提取和平均值【英文标题】:Excel extract and average values from column 【发布时间】:2012-10-31 05:20:09 【问题描述】:

如果我有一列有姓名,另一列有工资,是否有可能。即

约翰 $120
约翰 100 美元
莎莉 $90
莎莉 100 美元
莎莉 $80

要从第 2 列中提取 John 和 Sally 的值,然后将它们平均并将结果放入另一列的两个单元格中?我可以使用电子表格命令还是需要 VBA 自动执行此操作。

【问题讨论】:

【参考方案1】:

你可以使用任何一个

    AVERAGEIFS(适用于 xl07 及更高版本) 数据透视表请参阅 Debra's site 以获得良好的参考

如果您的数据在 A2:B6 中,那么 D1 中的这个公式(C1 中带有“John”)有效=AVERAGEIFS($B$2:$B$6,$A$2:$A$6,D1)

【讨论】:

【参考方案2】:

如果您需要您的电子表格使用早于 2007 年的 Excel 版本,您也可以使用以下公式:

=SUM(($D$1=$A$2:$A$6)*($B$2:$B$6)) / COUNTIF($A$2,$D$1)

这是一个数组公式,因此您需要在输入时按 CTRL+SHIFT+ENTER 而不是仅按 ENTER。

该公式适用于 brettdj 答案中的示例表,其中

名称列表在 A2:A6 中 值列表在 B2:B6 中 “约翰”在 D1 中 这个公式进入 E1(或任何地方,实际上)。

它的工作原理是计算 B2:B6 中对应 A2:A6 值为 John 的值的总和,然后将其除以 A2:A6 中的 John 总数,返回平均值。

【讨论】:

【参考方案3】:

如果您使用分号 (;) 而不是逗号 (,) 则效果很好,如下所示:

=AVERAGEIFS($B$2:$B$6,$A$2:$A$6,D1) - it doesn't work,
=AVERAGEIFS($B$2:$B$6;$A$2:$A$6;D1) - it works!

【讨论】:

以上是关于Excel从列中提取和平均值的主要内容,如果未能解决你的问题,请参考以下文章

向vb 高手求助代码编程:菜单中打开txt或excel数据表文件,求某列中几个数求平均,找出并输出均值附近数据

从列中提取某些单词

Google BigQuery 使用 regexp_extract 从列中提取字符串

Python - 从列中提取/复制分隔文本到新列 xlsx

从列中提取日期并在 R 中缺少年份时添加年份

使用 regexp_substr 从列中提取文本