关于excell的统计问题
发布网友
发布时间:2022-04-30 00:20
我来回答
共4个回答
热心网友
时间:2022-06-27 02:22
一、如果在所有数据里面x y 汉字的内容都一样的
例如
共有9人 9
共有5人 5
共有61人 61
共有621人 621
在新开一列里面输入:
=MID(A1,3,LEN(A1)-3)
(3表示从第三个位开始提取数字)
向下复制,对这列数求和
二、如果x的最后一个汉字和y的第一个汉字都是固定的且只出现过一次,例如:
今天有9人 9
昨天有5人 5
明天将有61人参加 61
在新开一列里面输入:
=MID(A1,SEARCH("有",A1,1)+1,SEARCH("人",A1,1)-SEARCH("有",A1,1)-1)
向下复制,对这列数求和
三、如果x y 乱七八糟的话
还在思考,想法就是使用CODE把数字提取出来,太麻烦了,不想这个了,还是用VBA方便,几行代码就解决了。
四、使用VBA,提取唯一的一组数字:
1、按ALT+F11 打开VB编辑器
2、双击左边靠上的【工程资源管理器】中的【MS Excel 对象】中的ThisWorkbook,在右边的代码窗口贴入下面的代码:
Sub 提取数字()
On Error GoTo 100 '处理出错
Application.ScreenUpdating = False '关闭屏幕更新提高运行速度
'提取数据里面唯一的一组数字
'本例是提取工作表标题为shee1的工作表A列数据里面数字,从A2单元格开始计算,把提取出来的数字放在B列,如果有需要请修改下面四列的结尾数。
Dim sheetsCaption As String: sheetsCaption = "Sheet1" '工作表标题
Dim col_1 As String: col_1 = "A" '数据列号
Dim col_2 As String: col_2 = "B" '存放结果的列号
Dim startrow As String: startrow = 2 '开始的行号
'以下不需要修改
Dim number As String
Dim i As Integer
Dim j As Integer
Dim text As String
With Sheets(sheetsCaption)
For i = startrow To .Range(col_1 & "65536").End(xlUp).Row
number = ""
For j = 1 To Len(.Range(col_1 & i))
text = Mid(.Range(col_1 & i), j, 1)
If Asc(text) >= 48 And Asc(text) <= 57 Or Asc(text) = 46 Then
number = number & text
End If
Next j
.Range(col_2 & i) = number
Next i
End With
Application.ScreenUpdating = True
Exit Sub
100:
Application.ScreenUpdating = True
Exit Sub
End Sub
三、回到EXCEL表,运行菜单 【工具】-【宏】-【宏】,选择 提取数据 这条宏,然后按执行。
这里有示范例子:
http://www.win-club.net/ray/get.xls
注:
1、打开的时候请选择启动宏(数字证书),如果启动宏的按钮为灰白不可用的话,请进入【工具】-【选项】-【安全性】-【宏安全性】把安全级设置为中,然后重新打开一次文件。
2、为方便,我添加了一个按钮的控件执行这个宏,你点击按钮就可以看到结果了。
热心网友
时间:2022-06-27 02:23
是要将n相加吗?格式一致吗(如数字都是2位类似01、10、11)
热心网友
时间:2022-06-27 02:23
只有数字才能相加,把汉字输入另一列吧
热心网友
时间:2022-06-27 02:24
先用数据-分列把“n”单独列出,最后用插入函数“sum”自动求和。