You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计.xlsx文件中每周第七天数值里低于50的出现次数?

嘿,这个需求我熟!刚好之前帮朋友处理过类似的Excel统计问题,给你几个实用的方案,不管你用的是Excel 365还是旧版本,或者需要批量处理,都能搞定:

解决方案

假设你的数值存储在A列,且数值出现在第1、8、15...行(每7行一个数值,中间间隔6个空行),我们要在相邻列(比如B列)统计这些数值中低于50的出现次数。

方法一:动态数组公式(适合Excel 365/2021及WPS最新版)

如果你的Excel支持动态数组功能,直接在目标单元格(比如B1)输入以下公式即可自动计算结果:

=COUNTIF(INDEX(A:A,SEQUENCE(ROUNDUP(COUNTA(A:A)/7,0),,1,7)),"<50")

公式解释:

  • SEQUENCE(ROUNDUP(COUNTA(A:A)/7,0),,1,7):生成一个从1开始、步长为7的行号序列,刚好对应每周第七天的数值行。
  • INDEX(A:A, ...):提取这些行号对应的A列数值。
  • COUNTIF(..., "<50"):统计提取出的数值中小于50的数量。

方法二:辅助列+简单统计(新手友好)

如果觉得数组公式有点复杂,用辅助列的方式更直观:

  1. 插入一个辅助列(比如C列),在C1单元格输入:
    =IF(MOD(ROW(),7)=1,A1,"")
    
  2. 下拉填充C列到A列最后一个数值所在行,这样C列就只会保留每周第七天的数值,其他行显示为空。
  3. 在目标单元格(比如B1)输入统计公式:
    =COUNTIF(C:C,"<50")
    
    就能得到你要的结果了。

方法三:VBA宏(批量处理多工作表)

如果你的Excel文件有多个工作表需要处理,写个小宏能节省大量时间:

  1. 按下Alt+F11打开VBA编辑器。
  2. 右键点击左侧的工作表名称,选择「插入」→「模块」。
  3. 粘贴以下代码:
    Sub CountBelow50()
        Dim ws As Worksheet
        Dim lastRow As Long
        Dim count As Integer
        Dim i As Long
        
        ' 可修改为指定工作表,比如Set ws = Sheets("你的工作表名")
        Set ws = ActiveSheet
        lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
        count = 0
        
        ' 从第1行开始,每7行检查一次
        For i = 1 To lastRow Step 7
            If IsNumeric(ws.Cells(i, "A").Value) And ws.Cells(i, "A").Value < 50 Then
                count = count + 1
            End If
        Next i
        
        ' 结果放在B1单元格,可自行修改位置
        ws.Cells(1, "B").Value = count
        MsgBox "统计完成!低于50的数值共" & count & "个"
    End Sub
    
  4. 按下F5运行宏,就能自动完成统计啦。

注意事项

  • 如果你的数值起始行不是第1行(比如从A2开始),需要调整公式/代码中的起始行:
    • 方法一中把SEQUENCE的第三个参数改成起始行号(比如2);
    • 方法二中把公式改成=IF(MOD(ROW()-1,7)=0,A2,"")(根据起始行调整偏移量);
    • 方法三中把For i = 1 To ...改成起始行号(比如2)。
  • 确保空行是真正的空单元格,没有空格或隐形字符,否则会影响统计结果。如果有隐形字符,可以先用TRIM(A1)处理数值。

内容的提问来源于stack exchange,提问作者user4086145

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:50:43