在excel中,宏代码计算同列中的相同两个单元格数据之间的单元格个数,空单元格不计算在内?

A列 B列
1 a
2 a 1
3 b
4
5
6 c
7 d
8 a 4
10
11
12 a 1
13 b
14 a 2
15 a 1
16
17 a 1
18
19
20
谢各位高手赐教
先谢了
此列,计算A列中的两个相同数据a之间的单元格个数,空单元格不计算在内?

暂时只想到了借助辅助列的办法,

1、在B1单元格输入公式:=IF(A1="a",COUNTIF(INDIRECT("$A$1:A"&ROW(A1)),"*"),""),向下填充

2、在C1单元格输入公式:=IF(A1="a",ROW(A1),""),向下填充

3、在D2单元格输入公式:=IF(B2<>"",MAX($C$1:C1),""),向下填充

4、在E2单元格输入公式:=IF(B2<>"",B2-INDIRECT("B"&D2),""),向下填充

最终E列即是最终结果,如下图所示:

追问

谢了,不过我需要宏代码计算,
方便快捷

追答

Sub mysub()
Dim findChr As String
Dim chrCount As Integer
findChr = InputBox("请输入要计算的字符!", "请输入", "a")
For i = 1 To UsedRange.Rows.Count
If Cells(i, 1).Value "" Then
chrCount = chrCount + 1
End If
If Cells(i, 1).Value = findChr And i 1 Then
Cells(i, 2) = chrCount
chrCount = 0
End If
Next i
End Sub

追问

计算时会提示("请输入要计算的字符!", "请输入", "a")
如何去掉这一步,直接计算数据a就可以了

追答

把findChr = InputBox("请输入要计算的字符!", "请输入", "a")这一句换成
findChr = “a”

英文引号

追问

高手谢了,等一下选为满意答案,编写VBA学这知识怎么学,哪科目,报考什么专业,计算机的哪一种

追答

首先看看visual basic,然后熟悉熟悉office相关的dom、对象的方法、属性等

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-08
Sub qqq()
For i = 1 To Range("a65536").End(xlUp).Row
k = 1
For t = i + 1 To Range("a65536").End(xlUp).Row
If Range("a" & i) <> "" Then
If Range("a" & t) = Range("a" & i) Then

Range("b" & t) = k
GoTo 10
ElseIf Range("a" & t) <> "" Then k = k + 1
End If
End If
Next t
10 Next i
End Sub追问

,B列计算结果为1415211
中间多了个5,
帮忙再看看,谢了

在excel中,宏代码计算同列中的相同两个单元格数据之间的单元格个数...
1、在B1单元格输入公式:=IF(A1="a",COUNTIF(INDIRECT("$A$1:A"&ROW(A1)),"*"),""),向下填充 2、在C1单元格输入公式:=IF(A1="a",ROW(A1),""),向下填充 3、在D2单元格输入公式:=IF(B2<>"",MAX($C$1:C1),""),向下填充 4、在E2单元格输入公式:=IF(B2<>"",B2-IN...

excel 表格中一列中好多文本相同怎么计算两个相同文本之间的格数和?
如图,B1单元格输入并下拉公式=IF(A1="本人",IFERROR(SUMPRODUCT(MATCH(0,0\/(A2:A100="本人"), )),COUNTA(A1:A100)),"")

EXCEL中如何用编写宏来查找出两列中相同内容的单元格并作标识
这个不需要用宏啊,直接用函数就可以,选中C列,输入函数:=if(a:a=b:b,1,"") ,按CTRL+ALT+ENTER结束。都不用下拉就有结果了。一般用excel是能用系统自带的功能实现的,就不用函数,能用函数的,就不启用宏,因为会让数据越来越大,而且一但出现错误,查找起来也麻烦。

excel 宏 统计某行费空白行不等元某单元格的个数
在工作表模块中自定义一个函数,返回是否值 Sub eg()Dim rng As Range Set rng = Me.Range("L6:L300")If myCheck(rng) Then MsgBox "Yes"Else MsgBox "No"End If End Sub Private Function myCheck(rng As Range) As Boolean myCheck = False Dim myCell As Range For Each myCell In ...

EXCEL如何统计显示A列单元格中每两个1数字之间单元格的次数,公式是什么...
=IF(ROW(A1)>=COUNTIF(A$1:A$19,1),"",SMALL(IF(A$1:A$19=1,ROW($1:$19),9999),ROW(A2))-SMALL(IF(A$1:A$19=1,ROW($1:$19),9999),ROW(A1))-1)组合键ctrl+shift+enter结束公式,下拉。

excel如何用宏处理随机个单元格数据是否相同?
在模块里面自定义一个函数,如下图:然后就可以在工作表里面使用函数Identity判定指定区域是否完全一致,例如Identity(A:A)判定A列是否完全一致,多少数据都可以,简单判定一行四个的应用例子如下图:程序里面故意使用代码跳过空单元格,如果要把空也作为一种情况,需要适当修改代码。程序代码如下:Option ...

Excel中 如何统计相同 行\/列 中几个不同数据的总个数
If InputBox("您选择的区域很大,包括" & c1 * r1 & "个单元格,其宗有" & co1 & "个单元格包含数据.如果处理这么大的区域将花费很长时间,请您确认此次操作不是误操作,输入""1""后按""确定""继续.", "确定", "0") <> "1" Then Exit Sub End If yblank = InputBox("是否计算...

在excel表格里查找同列中的重复数据
2.将新A列从上到下1、2、3进行填充。3.选中所有的列排序,选择按第4列从小到大排序(假设是包含你要处理数据的列)。4.这样相同或相近的数据全集中在一起。你可以选中它们设置其单元格相同的底色,或在其后再插入一列,在其中填充某个标记。5.再按第一列A排序,最后删除A列,恢复你原来的表格。

excel一行中,如何用宏同时选择两个不同列段
举个例子给你:Sub aa()Application.Union(Range("d1:e5"), Range("h1:j6")).Select End Sub

excel查重复内容
其次,利用COUNTIF函数也是一种有效的方法。在数据列旁边添加一个新列,在新列的第一个单元格中输入公式,如“=COUNTIF(A2:A6,A2)”,然后将公式向下拖动以应用到整个列。这将显示每个项出现的次数,从而识别出重复项。此外,高级筛选功能允许根据指定的条件筛选数据,包括重复项。选中数据区域,包括...

相似回答
大家正在搜