图一:原始数据表电脑教程
图二:统计结果表
上图说明:
图一:用户一、用户二、用户三、用户四正面的数字为模拟的电话号码;方向是指主叫还是被叫,没有什么意义。
图二:用户正面的数字是该电话所使用的次数,如果一个电话只被某一用户打过,这样就不统计,换句话说就是统计结果表中的电话号码至少被两个以上的用户打过。
tulaoShi.com解决的思路:
⒈ 此统计无法使用函数、数据透视表等普通的方法来解决。我采用了VBA编程来实现的统计。
⒉ 首先将所有用户的电话(不重复,重复的只取一次),提取出来存放到统计结果表中。这样结果表中的电话是唯一的。
⒊ 通过结果表的电话号码为基础,统计每个用户使用该号码的次数并将统计的结果存放到结果表该用户下。
⒋ 删除同一个电话号码被两个以下用户使用的行。
解决的方法:
⒈ 因为用户的数量是未知的,但从第2列开始是已经的,这样我们就可以通过循环来进行统计。循环的条件通过第1行从第2列开始,单元格不空。
⒉ 每个用户的电话号码循环与⒈类似
具体的程序源代码如下:
Private Sub CommandButton1_Click()
Sheets(2).Rows(2 & ":" & 65536) = ""
Sheets(2).Columns("B:IV") = ""
Dim Ls, i, j, Isa, k, yhs
Isa = False
i = 2
If Sheets(1).Cells(1, 2) = "" Then
MsgBox "没有用户,无法统计!", vbOKOnly + vbCritical, "错误提示"
Exit Sub
Else
Do While True
If Sheets(1).Cells(1, i) "" Then
Sheets(2).Cells(1, i) = Sheets(1).Cells(1, i)
i = i + 1
Else
Exit Do
End If
Loop
yhs = i - 1
End If
Ls = 2
Do While Sheets(1).Cells(1, Ls) ""
i = 2
Do While Sheets(1).Cells(i, Ls) ""
If Sheets(2).Cells(2, 1) = "" Then
Sheets(2).Cells(2, 1) = Sheets(1).Cells(i, Ls)
Else
j = 2: Isa = False
Do While Sheets(2).Cells(j, 1) ""
If Sheets(2).Cells(j, 1) = Sheets(1).Cells(i, Ls) Then Isa = True: Exit Do
j = j + 1
Loop
If Not Isa Then Sheets(2).Cells(j, 1) = Sheets(1).Cells(i, Ls)
End If
i = i + 1
Loop
Ls = Ls + 1
Loop
Ls = 2
Do While Sheets(2).Cells(1, Ls) ""
i = 2
Do While Sheets(2).Cells(i, 1) ""
j = 2: k = 0
Do While Sheets(1).Cells(j, Ls) ""
If Sheets(2).Cells(i, 1) = Sheets(1).Cells(j, Ls) Then k = k + 1
j = j + 1
Loop
If k 0 Then Sheets(2).Cells(i, Ls) = k
i = i + 1
Loop
Ls = Ls + 1
Loop
'===========================================
' 删除非同一电话多个用户使用的行
'===========================================
i = 2
Do While Sheets(2).Cells(i, 1) ""
j = 2: k = 0
Do While j = yhs
If Sheets(2).Cells(i, j) "" Then k = k + 1
j = j + 1
Loop
If CInt(k) 2 Then
Sheets(2).Rows(i).Delete Shift:=xlUp '删除i行
Else
i = i + 1
End If
Loop
'===========================================
MsgBox "统计完毕!", vbOKOnly + vbInformation, "系统提示"
Sheets(2).Select
End Sub
面对众多的Excel函数,想必没有几位朋友可以把它们记得清清楚楚吧。哪天真正要用到这些函数时,您又该怎么办呢?也许有的朋友会翻阅相关的书籍,有的朋友会查询Excel的随机帮助。可我在使用Excel函数时几乎很少需要查这查那的,我会让Excel自已帮我把需要的函数找出来。想知道我是怎么操作的吗?
(以下操作技巧已在微软Office 2003版本上测试通过)
操作步骤如下:
1. 打开Excel 软件
2. 执行插入菜单→函数命令,弹出如图1所示的窗口
图1
3. 在图1窗口中,不知大家注意到箭头标注的那个区域没有,这其实就是一个小型的函数搜索器,在这里我们可以像搜索引擎那样输入需要查找的函数描述,然后点击转到按钮等待查询结果即可。如图2所示
图2
此处输入的函数描述要求尽量简明,最好能用两个字代替,比如统计、排序、筛选等等,否则Excel会提示请重新表述您的问题而拒绝为您进行搜索
4. 怎么样?结果很快就出来了吧。要是您还是觉得Excel所推荐的函数过多而拿不准主意用哪个时,还可以在图2的函数列表中依次点击每个函数的名字,下面就会显示出关于它的简单解释以及使用方法,或者直接点击窗口最下面的有关该函数的帮助链接来查阅这个函数的详细说明
怎么样,这个方法用着方便吗?还不赶快动起您的鼠标试试看,能给您省不少事哟。
太多朋友都被CorelDraw里面的表格问题所困扰,最常见的就是从MS EXCEL中获得的表格。以下方法是在长期的实际操作中寻找出来的最简捷,最容易理解,最具版本兼容性的方案,请仔细看:
1、现在我们要把MS EXCEL表格弄到CD中去,直接拷贝所需要的区域;
2、在CD中建议开一个新文件,然后选择性粘贴刚才的内容:
3、建议去除所有的文字属性,便于下一步的操作;
4、这里关键了!一定要选择最下面的这项,你将来才有东西可改;
(m.tulaoshi.com) 5、OK!你在页面内应该可以看到表格的雏形了,我这里是个示意表格,你的表格如果在EXCEL更复杂,也会一样转过来。
笔者都是使用记有好友Email地址的Excel文件自动给亲友发送电子邮件,这种方法不仅方便快捷,而且这些邮件的收件人、主题、内容、附件都不相同。
一、建立亲友通讯录
在工作表中建立一个包含不同收件人、主题、内容和附件的亲友通讯录。
二、使用宏实现自动发送电子邮件
打开工具→宏→Visual Basic编辑器,单击插入→模块插入一个模块,在工程窗口中双击插入的模块,打开它的代码窗口,并输入以下宏:
Sub 全自动发送邮件()
"要能正确发送并需要对Microseft Outlook进行有效配置
On Error Resume Next
Dim rowCount, endRowNo
Dim objOutlook As New Outlook.Application
Dim objMail As MailItem
"取得当前工作表与Cells(1,1)相连的数据区行数
endRowNo = Cells(1, 1).CurrentRegion.Rows.Count
"创建objOutlook为Outlook应用程序对象
Set objOutlook = New Outlook.Application
"开始循环发送电子邮件
For rowCount = 2 To endRowNo
"创建objMail为一个邮件对象
Set objMail = objOutlook.CreateItem(olMailItem)
With objMail
"设置收件人地址(从通讯录表的E-mail地址字段中获得)
.To = Cells(rowCount, 2)
"设置邮件主题
.Subject ="新年好![来自朋友弗人的问候] "
"设置邮件内容(从通讯录表的内容字段中获得)
.Body = Cells(rowCount, 3)
"设置附件(从通讯录表的附件字段中获得)
.Attachments.Add Cells(rowCount, 4)
"自动发送邮件
.Send
End With
"销毁objMail对象
Set objMail = Nothing
Next
"销毁objOutlook对象
Set objOutlook = Nothing
"所有电子邮件发送完成时提示
MsgBox rowCount-1 && "个朋友的问候信发送成功!"
End Sub
以上代码在Excel 2000中执行通过,并且对通讯录和全自动发送邮件宏代码稍作修改就可以完成任何形式的大量邮件的发送。
工作中,经常会遇到需要用Excel处理的数据是存放在非Excel格式文件(比如文本文件等)中的情况,这时如果用手工方式来采集这些数据的话,实际费时又费力的。实际上,我们可以利用Excel软件的外部数据输入导入功能来迅速导入这些数据,从而极大的提高我们的工作效率。
下面我们以文本文件为例来介绍如何使用Excel的数据导入功能。假设我们有一个存放工资的文本文件,其内容如图1所示:
图1
如果您使用的是Excel 2000,那么从"数据"菜单开始,点击"获取外部数据"菜单项,然后选择"导入文本文件"菜单选项;如果您使用的是Excel 2003的话,那么从"数据"菜单开始,依次点击"导人外部数据","导入数据"菜单选项。这时都会出现一个选择数据源的窗口,在该窗口中找到数据源,然后直接双击它即可。这是后会有一个文本导入向导一步一步帮我们把数据导入到表格中。
下面我们来看一看导入向导的第一个窗口,如图2所示:
电脑教程图2
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/ejc/)在这里选择默认设置,然后单击"下一步",进入导入向导第二步,如图3所示:
图3
在这一步我们可以选择不同的分隔符,并能实时预览分隔效果。因为我们的文本文件是Tab键来分列的,所以选择Tab键作为我们的分隔符号。
我们常常看到这样的工程倒计时牌:
这多么鼓舞人心!她如擂起阵阵战鼓,激励人们奋进!
能否在EXCEL中制成这样的广告呢?
能!而且还很很简单。
Tulaoshi.com首先制表如下:
对座标轴进行格式:刻度/数字/对齐如下:
同时清除分类轴。
其余格式略。
最近在学习Excel2007的过程中发现在Excel2007中插入页眉和页脚较以前版本很方便直观。
相信用Excel以前某些版本中插入页眉和页脚时,对图1所示的插入页眉和页脚的对话框一定不会陌生。
图1
以Excel2003为例,在其中插入页眉和页脚就要用到上面的对话框,很是麻烦,且不能直观的看到插入的页眉和页脚,非要用打印预览才可看到页眉和页脚。
Excel2007对此功能进行了改进。想在Excel2007中插入页眉和页脚的方法有几个:其一、切换到插入标签菜单下,单击其中页眉和页脚按钮(以前版本,插入页眉和页脚的菜单项在视图下);其二、单击状态栏右侧的页面视图按钮,切换到页面视图,页面视图中页眉和页脚的位置就可插入页眉和页脚了。方法还有,不过以上两种是常规且简便的方法。见图2:
图2
插入页眉和页脚在Excel2007中的页面视图中,直接插入和设置,方便直观。以前版本中关于插入页眉和页脚的对话框上的命令都放在菜单标签栏上了,无需先在对话框中设置,然后再去点确定了,省了很多步骤,且直观。在这要提示一下,第一次用切换进页面视图的方法时可能并不显示插入页眉和页脚的菜单标签栏,单击菜单标签栏上的页眉和页脚工具或设计就可了。图3所示的就是插入页眉和页脚时的页面视图。
图3
如果在用页面视图时,不想让页眉和页脚等空格占去一些空间,可以用鼠标单击空格的边界来隐藏空格,隐藏后单击显示空格处可使其显示编辑页眉和页脚的空格。见图4:
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/ejc/)电脑教程图4