计算excel文件的中位数

时间:2017-06-29 06:57:29

标签: regex excel

我想从excel文件中计算一系列数字的中位数。 我的excel电子表格如下所示:

CELLNOUN 9.32
CELLNOUN 10.62
CELLNOUN 8.42
CELLNOUN 10.64
CELLNOUN 11.51
CELLNOUN 12.01
CELLNOUN 8.83
CELLSNOUN/CELLNOUN 9.53
CELLSNOUN/CELLNOUN 9.21
CELLNOUN/CELLSNOUN 10.76
CELLNOUN/CELLSNOUN 7.01
CELLSNOUN/CELLNOUN 10.21

PLANTNOUN/PLANTSNOUN 3.62
PLANTNOUN/PLANTSNOUN 3.38
PLANTSNOUN/PLANTNOUN 3.92
PLANTSNOUN/PLANTNOUN 3.24
PLANTNOUN/PLANTSNOUN 3.83
PLANTNOUN/PLANTSNOUN 3.24
PLANTSNOUN/PLANTNOUN 3.00
PLANTSNOUN/PLANTNOUN 1.80

...

在电子表格中,每组单词都用空行分隔,但每组的条目编号各不相同,如CELLNOUN / CELLSNOUN有12个条目,但PLANTNOUN /有8个条目。事实上,这些词后面的数字是这些词的出现。我想通过使用Regex而不是使用Excel中的MEDIAN函数来找出CELLNOUN / CELLSNOUN,PLANTNOUN / PLANTSNOUN等出现次数的中位数,因为我有数以千计这样的集合,我不能这样做在Excel上一个接一个。但是如果你知道在Excel上更快的方法,请建议。

非常感谢你。

2 个答案:

答案 0 :(得分:1)

首先,从数据集中删除空白行,然后使用Insert>创建一个Excel表格。表或Ctrl-T。使用Excel表对象时,引用该表的所有函数和命令将在向表中添加更多数据时捕获。

现在,您可以使用Insert>创建源数据中的数据透视表。数据透视表。如果将第一列字段拖到行区域中,则该源数据列中将包含唯一值列表。如果需要,可以将值列拖动到数据透视面板的“值”区域。现在看起来应该与此屏幕截图类似:

enter image description here

我不确定您是否知道您的类别的不同拼写,即有或没有" S"。数据透视表将它们全部揭开。

开箱即用,Excel数据透视表不提供Median作为聚合选项,但您可以使用此处概述的方法

http://www.myonlinetraininghub.com/calculating-median-in-pivottables

计算中位数。

确切的方法取决于您是否使用数据透视表或Power Pivot,因此请查看文章。

答案 1 :(得分:0)

使用如下所示的数组公式,然后按ctrl+shift+enter使其成为数组公式:

=MEDIAN((IF($A$1:$A$20=A1,$B$1:$B$20)))

通过将相同的公式应用于所有单元格,请参阅下图中的公式栏以应用于所有单元格 enter image description here