- 2017/9/15 9:51:12
- 类型:原创
- 来源:电脑报
- 报纸编辑:电脑报
- 作者:
统计指定时间段内的单元格个数
@元昊杰
有的时候我们需要知道一个时间段内特定单元格的数量,例如7年内离职的人数、6年内新增加了多少人、5年内有多少学生获得合格的考试成绩等。这个怎么实现呢?方法如下:按下组合键“Alt+F8”打开宏窗口,输入宏名“另存为TXT文件”,点击“创建”按钮,在打开的VBA窗口中输入如下代码:
Private Sub CommandButton1_Click()
Dim sDate As Date, vDate As Date
Dim d As Object
Dim arA, i%, x%, y%
Set d = CreateObject("Scripting.Dictionary")
arA = Sheet1.UsedRange
sDate = Me.TextBox1.Text
vDate = Me.TextBox2.Text
For i = 1 To UBound(arA) Step 7
arA(i, 16) = Replace(arA(i, 16), ".", "-")
For y = i + 2 To i + 5
For x = 2 To UBound(arA, 2)
If y = i + 2 Then arA(i + 1, x) = Format(arA(i + 1, x) & "-" & arA(i, 16), "General Date")
If arA(i + 1, x) >= sDate And arA(i + 1, x) <= vDate And arA(y, x) <> "" Then
d(LCase(arA(y, x))) = d(LCase(arA(y, x))) + 1
End If
Next
Next
Next
Sheet2.Activate
[a5].Resize(d.Count, 2) = Application.Transpose(d.items)
Set d = Nothing
End Sub
最后,为新增加的宏命令指定一个按钮,今后在Excel内选定时间范围再点击按一下该钮即可指定时间段内单元格个数了。
董师傅点评:要使用宏功能,需要在“工具”→“宏” →“安全性”中降低安全级别。
数字按位数分列显示
@骛于虚声
在Excel制作多联单、一些统计表格时,按照规范的格式需要将金额的数字按位数一个单元格填入一个数字,也就是亿元、千万元、百万元、十万元、万元、千元、百元、十元、个、角、分,每个单位下对应一个数字,有就填没有就不填。如果要大量输入上述数字,手工输入一是慢,而是容易出错,怎么办呢?今天借助文本嵌套函数来搞定。
假设A列是原始数据,B列是亿元列,第一行是标题,那么只要在B2单元格中输入以下公式 =LEFT(RIGHT(“¥”&ROUND($A2,2)*100,11-COLUMN(A:A)+1)),最后选中B2单元格并拖动填充手柄向右、向下填充到适当位置即可完成分列输入。
董师傅点评:公式中自然数11对应的是“亿”到“分”之间的位数,比实际位数要多一位,不是公式错了哟!大家可以根据自己的实际需求更改这个数字,记得要比比实际位数要多一位哟!
报纸客服电话:4006677866 报纸客服信箱:pcw-advice@vip.sin*.c*m 友情链接与合作:987349267(QQ) 广告与活动:675009(QQ) 网站联系信箱:cpcw@cpcw*.c*m
Copyright © 2006-2011 电脑报官方网站 版权所有 渝ICP备10009040号