如何用vba做目录(用vba做数据分析)?如果你对这个不了解,来看看!
VBA常用代码:批量获取指定文件夹下的文件名,下面是Excel之家给大家的分享,一起来看看。
如何用vba做目录
哈喽小伙伴们好,我是人见人爱的男神星光。今天说说如何获取指定文件夹下文件的名称。
很久以前我们分享过DOS的方法,操作动画如下:
*.* *是通配符,第一个*是文件名,第二个*是文件格式。如果只要excel文件,就修改为*.xls。
DIR *.*/B>LIST.TXT
DIR可以简单理解成函数。
*.* *是通配符,第一个*是文件名,第二个*是文件格式。如果只要excel文件,就修改为*.xls。
/b 是使用空格式,没有标题信息之类的。
list.txt是生成的文件类型和名字。
综上所述,如果是生成excel文件的目录,并以excel来呈现,命名为目录,语句就改为DIR *.xls /B >目录.xls
..
再说下VBA的方法,照例先上操作动画:
代码的核心是DIR语句,注释部分业已作了解释,这里就不再啰嗦了。
Sub FileDir()
Dim p$, f$, k&
'获取用户选择文件夹的路径
With Application.FileDialog(msoFileDialogFolderPicker)
'选择文件夹
.AllowMultiSelect = False
'不允许多选
If .Show Then
p = .SelectedItems(1)
'选择的文件路径赋值变量P
Else
Exit Sub
'如果没有选择保存路径,则退出程序
End If
End With
If Right(p, 1) <> "\" Then p = p & "\"
f = Dir(p & "*.*")
'返回变量P路径下带任意扩展名的文件名。如果超过一个文件存在,函数将返回按条件第一个找到的文件名。
'如果一个文件都没有,则f返回""
[a:a].ClearContents '清空A列数据
[a1] = "目录"
k = 1 'K
Do While f <> "" '如果f不等于"",则……
k = k + 1 '累加K
Cells(k, 1) = f
f = Dir
' 若第二次调用 Dir 函数,但不带任何参数,则将返回同一目录下的下一个文件。
Loop
MsgBox "OK"
End Sub
小思考:
如何用VBA判断某个文件夹下是否存在名称为“看见星光”的工作簿?方法有很多种哦~
用vba做数据分析
方差分析(Analysis of Variance,简称ANOVA),用于比较多个总体的均值是否想等,由英国统计学家费希尔(Fisher)首先引入。目前已经广泛应用于分析心理学、生物学、工程和医药的试验数据。
一个例子消费者与产品生产者、销售者或服务提供者之间经常发生纠纷。当发生纠纷后,消费者常常会向消费者协会投诉。为了对几个行业的服务质量进行评价,消费者协会在零售、旅游业、航空公司、家电制造业抽取了不同的企业作为样本。其中所抽取零售业7家、旅游业6家、航空公司5家、家电制造业5家。每个行业中抽取的这些企业,服务对象、服务内容、企业规模等方面基本上相同的。然后统计出最近一年中消费者对总共23家企业投诉的次数,结果如下表:
问题:我们想知道这几个行业之间的服务质量是否有显著差异?
一般来说,被投诉次数越多,说明服务质量越差。
要分析这四个行业之间的服务质量是否有显著差异,其实就是要判断行业(自变量)对被投诉次数(因变量)是否有显著影响。
相关术语
因素:检验的对象,在上面的例子中指行业。水平:因素的不同表现,在上方的例子中指零售业、旅游业、航空公司、家电制造业。观测值:每个因子水平下得到的样本数据,在上方的例子中指每个行业下得到的被投诉次数(样本数据)。方差分析的基本原理1、图形描述
绘制出被投诉次数和行业的散点图,如下图所示。
从散点图可以看出,不同行业被投诉的次数是有明显差异的,而且,在同一个行业,不同企业被投诉的次数也明显不同。例如,家电制造业被投诉次数最多,航空公司被投诉次数较少,表明行业与被投诉次数之间有一定的关系。
说明:上方的图形通过Excel绘制,绘制折线图,然后调整样式。
2、误差分解
仅仅从散点图上观察还不能提供充分的证据证明不同行业被投诉次数之间有显著差异,也许这种差异是由抽样的随机性造成的,因此,需要更加准确的方法来检验这种差异是否显著,也就是所谓的方差分析。
在方差分析中,误差通过平方和来表述。
反应全部数据误差大小的平方和为总平方和,记为SST反应组内误差大小的平方和称为组内平方和,也称为误差平方和或者残差平方和,记为SSE反应组间误差大小的平方和称为组间平方和,也称为因素平方和,记为SSA总误差(SST)=组内误差(SSE)+组间误差(SSA)根据所分析的分类型自变量的多少,方差分析可分为单因素方差分析和双因素方差分析。当方差分析中只涉及一个分类型自变量时称为单因素方差分析。
单因素方差分析研究的是一个分类型自变量对一个数值型因变量的影响,例如前面的例子,分析这四个行业之间的服务质量是否有显著差异。
方差分析分为三步:
1、提出假设
2、构造检验的统计量
3、统计决策
具体操作如下:
第1步:提出假设
第2、3步:构造检验的统计量及统计决策,具体计算公式及相关理论如下:
说明:Excel、SPSS等分析工具可以直接给出分析结果,所以具体计算及理论可不必深究!
用Excel做单因素方差分析下面通过单因素方差来解决前面提出的问题:
问题:我们想知道这几个行业之间的服务质量是否有显著差异?
第1步:提出假设
第2、3步:构造检验的统计量及统计决策,这里通过Excel数据分析库直接给出,具体操作如下。
这里需要用到Excel中的“数据分析”库,需要设置才能显示出来,设置方法如下。
1、文件-选项,打开如下对话框,选择加载项
2、选择“Excel加载项”,单击按钮“转到”,勾选分析工具库、分析工具库-VBA
经过以上操作,Excel中的“数据”标签最右侧会出现“数据分析”按钮。
下面通过Excel里面的“数据分析”库进行单因素方差分析:
1、单击“数据”-“数据分析”
2、选择“单因素方差分析”
3、输入区域,选择数据区域,选择范围如下图红色框线指示的区域,勾选“标志位于第一行”(因为我们选择的区域包含字段名),输出区域选择下方任意空白处
4、单击确定后,Excel会直接给出单因素方差分析的结果
分析结果说明:
Excel给出的分析结果分两块:
1、SUMMARY(概述)
数据的描述性统计量:观测数、求和、均值和方差。
2、方差分析表
关于方差分析的相关结论:
组间误差、组内误差和总误差。自由度。组间方差、组内方差。P值和F值。说明:从前面可以看出,进行方差分析需要进行大量的计算工作,手工计算十分繁琐,通过Excel数据分析库可以很轻松地得到结论。
统计决策:
这里主要关注最后的P值,如果P较小(指小于0.05),则拒绝原假设,反之,则接受原假设。
这里看到P值约为0.04,比较小,所以拒绝原假设,即不同行业的被投诉次数的均值不完全相同。
结论:不同行业的被投诉次数的均值不完全相同,即行业对被投诉次数的影响是显著的。
你是否用过方差分析呢?通过什么工具来做方差分析呢?欢迎留言评论!