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

Excel中如何统计含文本的相邻单元格对出现次数?

统计含文本单元格的相邻次数

公式法(适用于Excel)

假设你的数据区域是A1:D10,可以用以下公式统计所有横向(左右)和纵向(上下)的含文本相邻单元格对总数:

=SUMPRODUCT(--(LEN(TRIM(A1:C10))>0), --(LEN(TRIM(B1:D10))>0)) + SUMPRODUCT(--(LEN(TRIM(A1:D9))>0), --(LEN(TRIM(A2:D10))>0))
  • 第一部分统计横向相邻的文本单元格对数量(同一行中,左右单元格都有文本的情况)
  • 第二部分统计纵向相邻的文本单元格对数量(同一列中,上下单元格都有文本的情况)
  • TRIM去除单元格内空格,避免空白单元格被误判;LEN>0判断是否包含有效文本;--将布尔值转为可计算的1或0

如果数据区域不是A1:D10,对应调整公式里的区域范围即可。

VBA法(适用于Excel大区域或批量统计)

若数据区域较大,公式计算效率低,可使用VBA代码实现:

Sub CountAdjacentTextCells()
    Dim rng As Range
    Dim cell As Range
    Dim count As Integer
    Set rng = Application.InputBox("选择要统计的单元格区域", Type:=8)
    count = 0
    ' 统计横向相邻(右侧单元格)
    For Each cell In rng
        If cell.Column < rng.Columns(rng.Columns.Count).Column Then
            If Len(Trim(cell.Value)) > 0 And Len(Trim(cell.Offset(0, 1).Value)) > 0 Then
                count = count + 1
            End If
        End If
    Next cell
    ' 统计纵向相邻(下侧单元格)
    For Each cell In rng
        If cell.Row < rng.Rows(rng.Rows.Count).Row Then
            If Len(Trim(cell.Value)) > 0 And Len(Trim(cell.Offset(1, 0).Value)) > 0 Then
                count = count + 1
            End If
        End If
    Next cell
    MsgBox "含文本的相邻单元格对总次数为:" & count
End Sub

使用方法:

  1. 打开Excel,按Alt+F11打开VBA编辑器
  2. 插入新模块,粘贴上述代码
  3. 运行宏,选择目标区域即可得到结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 05:07:23