【已解决】关于Excel计算前面的可能没有表达清楚
本帖最后由 bihex 于 2017-2-25 15:43 编辑用另外一个例子来说明
名字语文 数学 外语
A 90 10089
B 80 70 60
A 95 98 90
A 89 99 98
B 60 50 70
C 98 60 50
C 80 70 90
现在需要计算每个人的语数外各科的平均成绩,参加测试的次数可能不同,比如求出A所有语文的总和,数学总和,外语总和.
原有的数据存放在Excel表格中,现在想用autoit读取并计算每个人各科的平均成绩。这样应该比较清楚了吧 #include <excel.au3>
Local $oExcel = _Excel_Open(Default, Default, Default, Default, True) ;_Excel_Open(1)
If @error Then Exit MsgBox(0, "提示", "无法建立Excel实例,请检查是否安装ooffce 2003以上版本")
$wb = _Excel_BookOpen($oExcel, @ScriptDir & "\成绩表.xlsx")
If @error Then
_Excel_Close($oExcel)
ExitMsgBox(0, "提示", "无法打开成绩表.xlsx")
EndIf
$NewSheet=_Excel_SheetAdd($wb, Default, Default, Default, "平均值")
$range=$wb.sheets("成绩详单").usedrange
$PivotTable = $wb.PivotCaches.Add(1, $range).CreatePivotTable($NewSheet.Cells(3, 1), '数据透视表1') ;
$PivotTable.PivotFields('名字').Orientation = 1 ; =1 行 =2 列
$PivotTable.PivotFields('名字').Position = 1 ;
$PivotTable.AddDataField($PivotTable.PivotFields('语文'), '语文平均', -4106)
$PivotTable.AddDataField($PivotTable.PivotFields('数学'), '数学平均', -4106)
$PivotTable.AddDataField($PivotTable.PivotFields('外语'), '外语平均', -4106)
$PivotTable.DataPivotField.Orientation=2
_Excel_BookSave($wb)
_Excel_BookClose($wb)
_Excel_Close($oExcel) 这一下应当满足你的要求了,你根据需要修改一下
h20040606 发表于 2017-2-25 12:16 http://www.autoitx.com/images/common/back.gif
很奇怪,里面有很多函数没有定义无法使用,修改了一部分,还是无法运行,是版本的问题吗,我的
程序版本:3.3.6 单纯计算什么就写公式吧!
_Excel_RangeWrite 看这个。 回复 5# heroxianf
我用的是假编辑器?没有这个函数啊
h20040606 发表于 2017-2-25 12:16 http://www.autoitx.com/images/common/back.gif
更新了编辑器,程序可以运行,研究一下原理,谢谢 回复 7# bihex
au3版本问题,我用的是较新的版本14.2
h20040606 发表于 2017-2-25 12:16 http://www.autoitx.com/images/common/back.gif
虽然可以可以运行,可是我实在看不懂里面一些参数的意思,比如“-4106",代码里面没有求平均的函数,怎么就出来平均了呢,求大侠指教 本帖最后由 h20040606 于 2017-2-25 19:55 编辑
回复 9# bihex
常数含义如下,附件为excel中常用常数
Constant Value
xlAverage -4106
xlCount -4112
xlMax -4136
xlMin -4139
xlSum -4157
例如:把-4106 改为 -4157 则为求和
改为-4136 则为 求最大值 本帖最后由 h20040606 于 2017-2-25 20:01 编辑
回复 6# bihex
3.3.12.0 开始,excelUDF变化较大。我用的是3.3.12.0,3.3.12.X,3.3.14.X,3.3.15.X的excel udf 是相同的 回复 10# h20040606
谢谢 回复bihex
常数含义如下,附件为excel中常用常数
Constant Value
xlAverage -4106
xlCount - ...
h20040606 发表于 2017-2-25 19:47 http://www.autoitx.com/images/common/back.gif
请问怎么把结果用autoit取出来呢,之前没有搞过宏
页:
[1]