跳至主要内容

如何在Excel中计算数据列中的峰值数量?

Author: Siluvia Last Modified: 2025-05-07
sample data

假设您的工作表中有两列数据,如左图所示,如何计算B列中的峰值数量呢?实际上,如果一个单元格值(例如B3)同时大于B2和B4,则可以将其判断为峰值。否则,如果不满足这两个条件,它就不是峰值。本文将讨论如何在Excel中列出并统计一列数据中的所有峰值。

在Excel中计算数据列中的峰值数量

在散点图中标记所有峰值


在Excel中计算数据列中的峰值数量

以下公式可以帮助您直接在Excel中计算一列数据中的峰值数量。

1. 选择一个空白单元格用于放置结果,在编辑栏(F)中输入公式 =SUMPRODUCT(--(B3:B17>B2:B16),--(B3:B17>B4:B18)),然后按 Enter 键。请参见截图:

apply a formula to count number of peaks in a column

备注:在公式中,B3:B17 是从列表的第三个单元格(包括标题单元格)到倒数第二个单元格的区域,B2:B16 是从列表的第二个单元格(包括标题单元格)到倒数第三个单元格的区域,最后 B4:B18 是从列表的第四个单元格(包括标题单元格)到最后一个单元格的范围。请根据需要进行更改。

a screenshot of kutools for excel ai

使用 Kutools AI 解锁 Excel 魔法

  • 智能执行:执行单元格操作、分析数据和创建图表——所有这些都由简单命令驱动。
  • 自定义公式:生成量身定制的公式,优化您的工作流程。
  • VBA 编码:轻松编写和实现 VBA 代码。
  • 公式解释:轻松理解复杂公式。
  • 文本翻译:打破电子表格中的语言障碍。
通过人工智能驱动的工具增强您的 Excel 能力。立即下载,体验前所未有的高效!

在散点图中标记所有峰值

此外,您可以通过创建散点图并在图表中标记所有峰值来轻松找出一列数据中的峰值。请按照以下步骤操作。

1. 选择与B3(不包括标题的列表中的第二个单元格值)相邻的单元格C3,在编辑栏(F)中输入公式 =IF(AND(B3>B2,B3>B4), "Peak","") 并按 Enter 键。然后向下拖动填充柄以标记所有峰值,如下图所示。

enter a formual to get all peaks

2. 选择x和y列,点击 插入 > 插入散点图(X, Y)或气泡图 > 带直线和数据标记的散点图,将散点图插入到工作表中。请参见截图:

 insert a scatter chart

3. 按 Alt + F11 键打开 Microsoft Visual Basic for Applications 窗口。

4. 在 Microsoft Visual Basic for Applications 窗口中,请点击 插入 > 模块。然后复制并将以下VBA代码粘贴到代码窗口中。

VBA代码:在散点图中标记所有峰值

Sub CustomLabels()
    Dim xCount As Long, I As Long
    Dim xRg As Range, xCell As Range
    Dim xChar As ChartObject
    Dim xCharPoint As Point
    On Error Resume Next
    Set xRg = Range("C1")
    Set xChar = ActiveSheet.ChartObjects("Chart 1")
    If xChar Is Nothing Then Exit Sub
    xChar.Activate
    xCount = ActiveChart.SeriesCollection(1).Points.Count
    For I = 1 To xCount
        Set xCell = xRg(1).Offset(I, 0)
        If xCell.Value <> "" Then
            Set xCharPoint = ActiveChart.SeriesCollection(1).Points(I)
            xCharPoint.ApplyDataLabels
            xCharPoint.DataLabel.Text = xCell.Value
            xCharPoint.DataLabel.Left = xCharPoint.DataLabel.Left - 15
            xCharPoint.DataLabel.Top = xCharPoint.DataLabel.Top - 7
        End If
    Next
End Sub

备注:在代码中,Chart 1 是所创建的散点图的名称,“C1”是辅助列的第一个单元格,其中包含您在步骤1中应用的公式结果。请根据需要进行更改。

5. 按 F5 键运行代码。然后所有峰值都会在散点图上标记出来,如下图所示:

run vba code to get all peaks are marked on the scatter chart

最佳办公效率工具

🤖 Kutools AI 助手:基于智能执行生成代码创建自定义公式分析数据并生成图表调用 Kutools 函数等功能,彻底改变数据分析方式…
热门功能查找、高亮或标记重复项 | 删除空行 | 合并不丢失数据的列或单元格 | 四舍五入 ...
高级 LOOKUP多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 ....
高级下拉列表快速创建下拉列表 | 从属下拉列表 | 多选下拉列表 ....
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域和列 ...
精选功能网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...)...
排名前 15 的工具集12 种文本 工具添加文本删除特定字符等) | 50 多 种图表 类型甘特图等) | 40 多种实用 公式基于生日计算年龄等) | 19 种插入 工具插入二维码根据路径插入图片等) | 12 种转换 工具小写金额转大写汇率转换等) | 7 种合并与分割 工具高级合并行分割单元格等) | 还有更多...

使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...


Office Tab 将标签式界面引入 Office,让您的工作更加轻松

  • 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读
  • 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
  • 将您的生产力提升 50%,每天为您减少数百次鼠标点击!