获取EXCEL某一列数据数量
请问一下各位怎样获取EXCEL某一列有多少个数据呢?是否有直接的函数?搜索无果…… 1. 获取最后有数据的位置2. 单元格不为空的数量
$oe=ObjCreate("excel.application")
$oe.visible=True
$wb=$oe.workbooks.add
With $wb.activesheet
.range("b2,b5,b9").value="123"
ConsoleWrite("B列有数据的最后一行是:"&.cells(.rows.count,2).end(3).row&@CRLF)
ConsoleWrite("B列有数据的单元格数量是:"&.application.countif(.columns(2),"<>")&@CRLF)
EndWith获取非空单元格是调用的工作表公式
本帖最后由 itzyx 于 2022-2-12 11:03 编辑
百度学习了一下还可以这样写:
假如数据在A列,如果统计数字个数,则=count(a:a),如果统计所有类型个数,则=counta(a:a)。如果按条件统计,比如统计A列为优秀的个数,则=countif(a:a,"优秀")
举例:
#include<Excel.au3>
Local $oexcel=_Excel_open()
Local $path=@ScriptDir&'\目录清单.csv'
$owork=_Excel_BookOpen($oexcel,$path)
Local $Write1=_Excel_RangeWrite($owork,"目录清单",'=COUNTA(A:A)','B1',TRUE);写入公式
Local $Write2=_Excel_RangeWrite($owork,"目录清单",'=COUNT(A:A)','B2',TRUE)
Local $Write3=_Excel_RangeWrite($owork,"目录清单",'=COUNTIF(A:A,"优秀")','B3',TRUE)
Local $Read1=_Excel_RangeRead($owork,"目录清单",'B1') ;读取值
Local $Read2=_Excel_RangeRead($owork,"目录清单",'B2')
Local $Read3=_Excel_RangeRead($owork,"目录清单",'B3')
MsgBox(0,'','A列的数量:'&$Read1&',A列数字的数量:'&$Read2&',A列“优秀”值的数量:'&$Read3) itzyx 发表于 2022-2-12 11:00
百度学习了一下还可以这样写:
假如数据在A列,如果统计数字个数,则=count(a:a),如果统计所有类型个数 ...
为什么我没有_excel_open()、_excel_rangewrite()等函数呢 DaNFromAu3 发表于 2022-2-12 11:49
为什么我没有_excel_open()、_excel_rangewrite()等函数呢
那可能你的AU3版本太低了,可以在论坛下载个新的版本
https://www.autoitx.com/thread-72638-1-1.html 是想获取己建的EXCEL某一列有多少个数据? chzj589 发表于 2022-2-14 09:28
是想获取己建的EXCEL某一列有多少个数据?
是的,我想知道是否有直接的函数。 本帖最后由 chzj589 于 2022-2-24 14:28 编辑
DaNFromAu3 发表于 2022-2-14 13:02
是的,我想知道是否有直接的函数。
直接的函数:face (1):
Local $M="A"
Local $aResult = _Excel_RangeRead($oWorkbook, Default, $M & "1:" & $M & $iRo, 1)
页:
[1]