如何删除Excel中的异常值(3种方法)

  • Share This
Hugh West

在统计学、数据挖掘、机器学习等领域,找到并移除异常值是一项非常常见的数据分析任务。 在这篇文章中,我们将告诉你如何 消除Excel中的异常值 .

下载工作手册

你可以从这里下载免费的练习Excel工作簿。

删除离群值.xlsx

什么是Excel中的离群值?

一个 例外者 换句话说,离群值是指明显高于或低于数据集中其他数值的数值。

想一想,在一场板球比赛中,所有击球手的得分都在50分左右,但只有一名击球手打出了一个世纪(100分),另一名击球手以0分出局。

异常值是有问题的,因为它们会歪曲数据分析的结果,并出现误导性的结果。 因此,最好是找到异常值并将其去除,以获得一个平滑的数据集。

在Excel中去除异常值的3种方法

在本节中,你将学习如何 删除异常值 去除离群值是一个棘手的过程,所以要仔细阅读整篇文章。

1.利用Excel函数计算无异常值的平均值

ǞǞǞ TRIMMEAN函数 可以用来计算一个给定数据集的平均值,同时排除异常值。 要排除的数据点以百分比形式提供。 百分比值可以以十进制格式或百分比格式输入。

计算无异常值的平均数的语法是。

=TRIMMEAN(array, percent)

在这里。

  • 阵列 = 修剪和计算平均结果的数据范围
  • 百分比 = 要排除的数据点的数量

让我们看看如何实现这个函数,以计算出去除异常值的结果。

考虑一下上图,我们有来自 细胞B5至B14 0和100 - 所以这些是 异常值 在我们的数据集中。

对于我们的数据集,用Excel计算不含离群值的均值(平均值)的公式是 三元模式(TRIMMEAN 功能是。

=trimmean(b5:b14,0.2)

在这里。

  • B5:B14 = 修剪和计算平均结果的数据范围
  • 0.2 (或20%) = 要排除的数据点的数量

如果数据集中的任何数字与数据集的其他部分有20%的差距,那么这个数字将被称为离群值。

如果你根据你的数据集编写公式并按 进入 ,你会得到 无异常值的计算平均值 在我们的例子中,你的数据集是什么? 细胞E6 持有计算出的平均值,即 23.50 .

为了检查答案是否正确,我们运行 平均值功能 细胞E5 其中返回平均数( 28.80 )的所有值的范围内 B5:B14 而在 细胞E7 ,我们运行另一个 平均数 通过手动输入所有的单元格,除了持有离群值的单元格,得到的回报是 23.50 作为结果。

所以我们可以说 三元期权(TRIMMEAN 函数可以成功地从给定的数据集中去除异常值,同时在Excel中计算出平均数。

阅读更多。 如何清除Excel中的公式(7+方法)

2.在Excel中删除数据集和折线图中的异常值

注意下图,我们有一些数据,在此基础上我们创建了一个折线图。 从折线图中,我们可以很容易地看到,在 数据点4和8是我们的离群值 .

现在我们来看看如何通过去除数据集中的离群值来平滑折线图。

在另一个单元格中(在我们的例子中,它是 细胞H6 ),写出以下公式。

=IF(AND(ABS(C6-C5)>$E$6,ABS(C6-C7)>$E$6),NA(),C6)

在这里。

  • C6 = 保存数据集中第一个数据的单元格
  • C5 = 第一个数据单元上方的单元格
  • C7 = 第一个数据单元格下面的单元格
  • $E$6 = 数据点之间的差异。

看一下我们的数据,似乎当一个数据点被 差10个单位 被指定为 例外者 所以我们把 10 细胞E6 并使之成为一个 绝对单元格参考 这样,在扫描和计算整个数据集时,这个单元格将被固定。

在按下 进入 ,你可以看到第一个数据仍然出现在结果单元格中。 H6 你在这里要做的是,只是构建一个公式,以便我们可以拖动 填充手柄 将公式应用于其余的单元格。

现在将该行向下拖动,用 填充手柄 你会看到原来存放异常值的单元格现在充满了 #N/A .

再看看现在的折线图,这已经是一个扁平化的图表,里面没有任何离谱的数值。

公式分解

=IF(

由于我们将在此基础上对数值进行比较,并提取结果,因此我们在公式中用 基金会 条件。

=IF(AND(

我们将比较当前的数据点和上面的单元格以及下面的单元格。 如果两个比较都是真的,我们才会将数据点作为结果显示出来。 因此,由于我们需要处理 "两个 "比较,所以我们应该利用 和函数 .

=IF(AND(ABS(

当我们对数据点进行减法时,一些数据可能会抛出负值。 而我们不想处理负值,因为负值总是与 "当差值为10时删除数据 "的条件相矛盾。 因此,为了确保我们总是有正面的结果,我们需要将比较包在一个 绝对值函数 .

=IF(AND(ABS(C6-C5)>$E$6)

在这里我们开始了我们的第一次比较。 我们简单地用当前值减去上面的值,看看结果是否大于存储在 细胞E6 并使该细胞成为一个 绝对参考 来保持单元格值的锁定。

=IF(AND(ABS(C6-C5)> $E$6,ABS(C6-C7)> $E$6)

接下来是用逗号隔开的第二部分比较,它将比较当前数据点和下一个数据点。

=IF(AND(ABS(C6-C5)>$E$6,ABS(C6-C7)>$E$6), NA()

现在我们放一个逗号,确定把 NA功能 在那里,如果两个 函数为真。

=IF(AND(ABS(C6-C5)>$E$6,ABS(C6-C7)>$E$6),NA(),C6)

而如果 函数不为真,那么我们要返回实际的数据点作为 基金会 所以我们输入一个逗号,并传递单元格参考号 C6 在那里。

阅读更多。 如何删除Excel中的数据验证(5种方法)

类似读物

  • 如何删除Excel中的页眉(4种方法)
  • 删除Excel中的虚线(5种快速方法)
  • 如何从Excel中删除网格(6种简单方法)
  • 移除Excel中的边框(4种快速方法)
  • 如何删除Excel中的兼容模式(2种简单方法)

3.手动删除Excel中的异常值

在Excel中消除异常值的另一个简单方法是,只需对数据集的数值进行排序,并手动删除其中的顶部和底部数值。

要对数据进行排序。

  • 选择 的数据集。
  • 转到 排序 & 筛选 编辑工作 组,并选择其中一个 从小到大的排序 从大到小的排序 .

  • 在我们的案例中,我们选择了 从小到大的排序 它将我们的数据集中的数字按升序排序,将最小的数字放在顶部,最大的数字放在底部。

现在只需手动删除这些数据,使数据集的离散值自由。

我们不建议在处理大型数据集时遵循这个过程。 当你的数据集很小,更容易查看时,你才可以应用这个程序,否则就不要实施。

阅读更多。 如何删除Excel中的排序(3种简单方法)

总结

这篇文章告诉你如何 移除异常值 我希望这篇文章能让你受益匪浅。 如果你对这个话题有任何疑问,请随时提问。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.