【问题标题】:Excel - calculate quartile and median to generate box plot given a list of values and countsExcel - 计算四分位数和中位数以在给定值和计数列表的情况下生成箱线图
【发布时间】:2019-04-14 19:34:22
【问题描述】:

我有一个相当简单的任务要完成,但我不知道如何在 excel 中完成。

我有一个值列表和每个值的计数(我的变量是离散的)。考虑到我的计数,我正在尝试计算变量的第一和第三四分位数。整体数据集太大,无法以原始格式放入 excel,因此我使用的是值计数矩阵。

例子:

Value | Count
1 | 100000
2 | 300000
3 | 350000
4 | 100000
5 | 50000
6 | 1000
7 | 10

我需要从这个数据集中生成第一个、第三个四分位数和中位数,但据我所知,excel 的四分位数只接受原始值,而不接受值及其计数。

【问题讨论】:

    标签: excel quartile


    【解决方案1】:

    我认为这仅使用公式是不可能的。您可以轻松地创建具有单独列表的公式,以避免总行数多于 excel 行的问题,但我不知道有什么方法可以将这些列表附加到函数内部的一个大列表中。也许其他人知道一种方法,但与此同时 Excel 中还有另一种方法:

    你可以使用的是power query和power pivot。您从您拥有的表开始并将其添加到查询(数据 - “获取和转换数据”部分 - “从表/范围”。我有 Excel 2016,所以如果你有不同的版本,路径很可能是不同的或在旧版本中,这些工具不可用)

    现在编辑查询并使用List.Repeat 添加另一列以创建完整的数据集,展开值并加载到数据模型(当您在查询编辑器中转到“主页”-“关闭并加载”时,单击小向下箭头并选择。“关闭并加载到...”并选择“仅创建连接”并选中“将此数据添加到数据模型”)

    在“Power Pivot”选项卡中,您可以添加一个新度量来计算此表的四分位数。我用过

    quartile:=PERCENTILE.EXC(AllData[AllValues];0,25)
    

    因为我不认为真的有特殊的四分位函数。

    【讨论】:

      【解决方案2】:

      假设您提供的表格位于A1:B8(第 1 行带有标题),对于中位数,您可以使用以下 数组公式**

      =SUM(LOOKUP(INT(SUM(B2:B8)/2+{0.5,1}),MMULT(N(ROW(B2:B8)>=TRANSPOSE(ROW(B2:B8))),N(+B1:B7))+1,A2:A8))/2

      请注意此处的一个偏移范围 (B1:B7),如前所述,假设 B1 包含一个(文本)标题。

      编辑:重新四分位数,这取决于您是希望根据 Excel QUARTILE 函数还是根据其“标准”定义来计算这些,即作为数据上/下半部分的中位数( see here)。

      问候

      **数组公式的输入方式与“标准”公式不同。不是只按 ENTER,而是先按住 CTRL 和 SHIFT,然后再按 ENTER。如果操作正确,您会注意到 Excel 在公式周围放置了大括号 {}(尽管不要尝试自己手动插入)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-01-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-06
        相关资源
        最近更新 更多