Delphi操作EXCEL函数整理
一、使用单元:
Use :EXCEL 2000, ComObj
二、定义
var ExcelApp,Sheet,Range: Variant;
注释:
ExcelApp 为定义的Excel 对象
Sheet 为定义的工作表(Sheet)对象
Range 为定义的工作表范围
三、关于Excel 对象创建初始化以及工作表、工作表范围的初始化
1. 创建excel对象:
ExcelApp := CreateOleObject( 'Excel.Application' );
2. 显示当前窗口:
ExcelApp.Visible := True;
3. 更改Excel 标题栏:
ExcelApp.Caption := '应用程序调用Microsoft Excel';
4. 添加新工作簿:
ExcelApp.WorkBooks.Add;
5 打开已存在的工作簿:
ExcelApp.WorkBooks.Open(FilePath);
6.设置工作簿默认工作表张数
ExcelApp.SheetsInNewWorkbook := 1;
7.设置工作表名称
ExcelApp.Workbooks[WorkbookNum].WorkSheets[WorkSheetNum].Name := PName;
8.工作表初始化
Sheet:= ExcelApp.Workbooks[WorkbookNum].WorkSheets[WorkSheetNum];
9.工作表范围初始化
Range := Sheet.Range['A1:DL1'] ;
10.设置第2个工作表为活动工作表:
ExcelApp.WorkSheets[2].Activate;
或
ExcelApp.WorksSheets[ 'Sheet2' ].Activate;
三、单元格赋值设置数值类型
1. 给单元格赋值:
ExcelApp.Cells[row, column].Value := '第一行第四列';
或
Sheet.Cells[row, column] := ‘第一行第四列’;
2 清除第一行第四列单元格公式:
ExcelApp.ActiveSheet.Cells[row,column].ClearContents;
或
Sheet.Cells[row,column]. ClearContents
3设置单元格数值类型为文字型
Range.NumberFormatLocal := '@';
四、设置列宽和行高
1. 设置指定列的宽度(单位:字符个数):
ExcelApp.ActiveSheet.Columns[column].ColumnsWidth := 5;
或
Sheet.Columns[column].ColumnWidth := 5;
2.设置指定行的高度(单位:磅)(1磅=0.035厘米)
ExcelApp.ActiveSheet.Rows[row].RowHeight := 1/0.035; // 1厘米
或
Sheet. Rows [row]. RowHeight:= 1/0.035;
五、对齐方式
1.水平对齐
Range.HorizontalAlignment:=xlCenter; 居中
Range.HorizontalAlignment:=xlLeft;居左
Range.HorizontalAlignment:=xlRight;居右
或
Sheet.Cells[row,column].HorizontalAlignment:=xlCenter; 居中
Sheet.Cells[row,column].HorizontalAlignment:=xlLeft;居左
Sheet.Cells[row,column].HorizontalAlignment:=xlRight;居右
2.垂直对齐
Range. VerticalAlignment:=xlCenter; 居中
Range. VerticalAlignment:= xltop;顶端对齐
Range. VerticalAlignment:= xlbottomfont;底部对齐
或
Sheet.Cells[row,column]. VerticalAlignment:=xlCenter; 居中
Sheet.Cells[row,column]. VerticalAlignment:= xltop;顶端对齐
Sheet.Cells[row,column]. VerticalAlignment:= xlbottomfont; 底部对齐
六、文字控制
1.自动换行
Range.WrapText:=true;
或
Sheet.Cells[row,column]. WrapText:=true;
2.合并单元格
Sheet.range['A17:G17'].Merge;
3.跨越合并
Sheet.range['C27:D34'].Merge(true);
七、字型设置
1.设置字体大小
Range.Characters.Font.Size := 10;
或Sheet.Cells[row,column].Characters.Font.Size := 10;
2.字体加重
Range.Characters.Font. Bold:= true;
或
Sheet.Cells[row,column].Characters.Font. Bold:= true;
3.字体倾斜
Range.Characters.Font. Italic:= true;
或
Sheet.Cells[row,column].Characters.Font. Italic:= true;
4.字体
https://www.360docs.net/doc/2814352168.html,:=’楷体_GB2312'
或
Sheet.Cells[row,column].Characters.Font. Name:=’楷体_GB2312’5字体样式(常规,斜体,粗体,粗斜体)
Range.Characters.Font.FontStyle:=’常规'
或
Sheet.Cells[row,column].Characters.Font.FontStyle:=’常规'
6.下划线
Range.Characters.Font.UnderLine := True;
或
Sheet.Cells[row,column].Characters.Font.UnderLine := True;
八、分页符操作
1.在第8行之前插入分页符:
ExcelApp.WorkSheets[1].Rows.PageBreak := 1;
或
Sheet. Rows. PageBreak := 1;
或
Range. Rows. PageBreak := 1;
2.在第8列之前删除分页符:
ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;
或
Sheet.Columns[4]. PageBreak := 0;
或
Range.Columns[4].PageBreak :=0;
九、关于边框的操作:Border :1-左2-右3-顶4-底5-斜( \ ) 6-斜( / )
1.指定边框线宽度:
ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[Border].Weight := 3;
或
Sheet. Borders[Border].Weight := 3;
或
Range Borders[Border].Weight := 3;
2.边框线线条形状
Sheet.Borders[Border].linestyle :=1;
或
Range.Borders[Border]. Linestyle := 1;
Linestyle 1:实线2 虚线12 双横线
十、关于颜色
1. 设置单元格背景色
Sheet.Cells[row,column].Interior.ColorIndex := 38;
或
Range.Interior.ColorIndex := 38;
2.字体颜色
Range.Characters.Font.Colorindex:=6;
或
Sheet.Cells[row,column].Characters.Font.Colorindex:=6 Colorindex的值
十一、冻结窗口
Sheet.Cells[2,3].select;
ExcelApp.ActiveWindow.FreezePanes := True;
十二、打印设置
1.页眉:
Sheet.PageSetup.CenterHeader := '报表演示';
2.页脚:
Sheet.PageSetup.CenterFooter := '第&P页';
3页眉到顶端边距2cm:
Sheet.PageSetup.HeaderMargin := 2/0.035;
4.页脚到底端边距3cm:
Sheet.PageSetup.HeaderMargin := 3/0.035;
5.顶边距2cm:
Sheet.PageSetup.TopMargin := 2/0.035;
6.底边距2cm:
Sheet.PageSetup.BottomMargin := 2/0.035;
7.左边距2cm:
Sheet.PageSetup.LeftMargin := 2/0.035;
8.右边距2cm:
Sheet.PageSetup.RightMargin := 2/0.035;
9.页面水平居中:
Sheet.PageSetup.CenterHorizontally := 2/0.035;
10.页面垂直居中:
Sheet.PageSetup.CenterVertically := 2/0.035;
11.打印单元格网线:
Sheet.PageSetup.PrintGridLines := True;
12缩放比例
Sheet.PageSetup.zoom := 75;
13横向打印
Sheet.PageSetup.Orientation:= xllandscape;
14 纵向打印
Sheet.PageSetup.Orientation:=xlportrait;
15.设置打印标题行
Sheet.PageSetup.PrintTitleRows := Sheet.Rows['1:3'].Address ;
Sheet.PageSetup.PrintTitleColumns := Sheet.Rows[3].Address;
16.打印预览工作表:
Sheet.PrintPreview;
17 打印输出工作表:
Sheet.PrintOut;
十三、拷贝操作:
1.拷贝整个工作表:
https://www.360docs.net/doc/2814352168.html,ed.Range.Copy;
2. b.拷贝指定区域:
Sheet.Range[ 'A1:E2' ].Copy;
3.从A1位置开始粘贴:
Sheet.Range.[ 'A1' ].PasteSpecial;
4.从文件尾部开始粘贴:
Sheet.Range.PasteSpecial;
十四、行列的插入删除
1. 插入一行或一列:
a. ExcelApp.ActiveSheet.Rows[2].Insert;
b. ExcelApp.ActiveSheet.Columns[1].Insert;
2. 删除一行或一列:
a. ExcelApp.ActiveSheet.Rows[2].Delete;
b. ExcelApp.ActiveSheet.Columns[1].Delete;
十五、Excel保存关闭
1.工作表保存:
if not ExcelApp.ActiveWorkBook.Saved then
ExcelApp.ActiveSheet.PrintPreview;
2.工作表另存为:
ExcelApp. SaveAs ( filepath);
3 放弃存盘:
ExcelApp.ActiveWorkBook.Saved := True;
4. 关闭工作簿:
ExcelApp.WorkBooks.Close;
5. 退出Excel:
ExcelApp.Quit;
6. 工作表关闭
ExcelApp.WorkBooks.Close ;
十六、其他
1. 已经使用的行数
https://www.360docs.net/doc/2814352168.html,edRange.Rows.Count;
(三) 使用Delphi 控制Excle二维图
在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet var asheet1,achart, range:variant;
1)选择当第一个工作薄第一个工作表
asheet1:=ExcelApplication1.Workbooks[1].Worksheets[1];
2)增加一个二维图
achart:=asheet1.chartobjects.add(100,100,200,200);
3)选择二维图的形态
achart.chart.charttype:=4;
4)给二维图赋值
series:=achart.chart.seriescollection;
range:=sheet1!r2c3:r3c9;
series.add(range,true);
5)加上二维图的标题
achart.Chart.HasTitle:=True;
achart.Chart.ChartTitle.Characters.Text:=’ Excle二维图’
6)改变二维图的标题字体大小
achart.Chart.ChartTitle.Font.size:=6;
7)给二维图加下标说明
achart.Chart.Axes(xlCategory, xlPrimary).HasTitle := True;
achart.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text := '下标说明';
8)给二维图加左标说明
achart.Chart.Axes(xlValue, xlPrimary).HasTitle := True;
achart.Chart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text := '左标说明';
9)给二维图加右标说明
achart.Chart.Axes(xlValue, xlSecondary).HasTitle := True;
achart.Chart.Axes(xlValue, xlSecondary).AxisTitle.Characters.Text := '右标说明';
10)改变二维图的显示区大小
achart.Chart.PlotArea.Left := 5;
achart.Chart.PlotArea.Width := 223;
achart.Chart.PlotArea.Height := 108;
11)给二维图坐标轴加上说明
achart.chart.seriescollection[1].NAME:='坐标轴说明';
怎么在delphi中读取Excel数据(各种详细操作)
怎么在delphi中读取Excel数据(各种详细操作)转 ( 一) 使用动态创建的方法 首先创建Excel 对象,使用ComObj : Var ExcelApp : Variant ; ExcelApp := CreateOleObject ( '' Excel.Application '' ) ; 1 ) 显示当前窗口: ExcelApp.Visible := True ; 2 ) 更改Excel 标题栏: ExcelApp.Caption := '' 应用程序调用Microsoft Excel '' ; 3 ) 添加新工作簿: ExcelApp.WorkBooks.Add ; 4 ) 打开已存在的工作簿: ExcelApp.WorkBooks.Open ( '' C : \Excel\Demo.xls '' ) ; 5 ) 设置第2个工作表为活动工作表: ExcelApp.WorkSheets [ 2 ] .Activate ; 或 ExcelApp.WorksSheets [ '' Sheet2 '' ] .Activate ; 6 ) 给单元格赋值: ExcelApp.Cells [ 1 , 4 ] .Value := '' 第一行第四列'' ; 7 ) 设置指定列的宽度(单位:字符个数),以第一列为例: ExcelApp.ActiveSheet.Columns [ 1 ] .ColumnsWidth := 5 ; 8 ) 设置指定行的高度(单位:磅)(1磅=0.035 厘米),以第二行为例:ExcelApp.ActiveSheet.Rows [ 2 ] .RowHeight := 1 / 0.035 ; // 1厘米 9 ) 在第8行之前插入分页符: ExcelApp.WorkSheets [ 1 ] .Rows [ 8 ] .PageBreak := 1 ; 10 ) 在第8列之前删除分页符: ExcelApp.ActiveSheet.Columns [ 4 ] .PageBreak := 0 ;
Delphi函数清单
[标准函数和过程] 首部 procedure Abort;$[SysUtils 功能引起放弃的意外处理。 说明不显示任何错误信息。 首部 function Abs(N:
15个常用的Excel函数公式
15个常用的Excel函数公式,拿来即用 1、查找重复内容 =IF(COUNTIF(A:A,A2)>1,"重复","") 2、重复内容首次出现时不提示 =IF(COUNTIF(A$2:A2,A2)>1,"重复","") 3、重复内容首次出现时提示重复 =IF(COUNTIF(A2:A99,A2)>1,"重复","")
4、根据出生年月计算年龄 =DATEDIF(A2,TODAY(),"y") 5、根据身份证号码提取出生年月 =--TEXT(MID(A2,7,8),"0-00-00") 6、根据身份证号码提取性别 =IF(MOD(MID(A2,15,3),2),"男","女") 7、几个常用的汇总公式 A列求和:=SUM(A:A)
A列最小值:=MIN(A:A) A列最大值:=MAX (A:A) A列平均值:=AVERAGE(A:A) A列数值个数:=COUNT(A:A) 8、成绩排名 =RANK.EQ(A2,A$2:A$7) 9、中国式排名(相同成绩不占用名次) =SUMPRODUCT((B$2:B$7>B2)/COUNTIF(B$2:B$7,B$2:B$7))+1 10、90分以上的人数
=COUNTIF(B1:B7,">90") 11、各分数段的人数 同时选中E2:E5,输入以下公式,按Shift+Ctrl+Enter =FREQUENCY(B2:B7,{70;80;90}) 12、按条件统计平均值 =AVERAGEIF(B2:B7,"男",C2:C7) 13、多条件统计平均值 =AVERAGEIFS(D2:D7,C2:C7,"男",B2:B7,"销售")
delphi数学模块函数、过程大全
function ArcCos(const X : Extended) : Extended; overload; function ArcCos(const X : Double) : Double; overload; function ArcCos(const X : Single) : Single; overload; function ArcSin(const X : Extended) : Extended; overload; function ArcSin(const X : Double) : Double; overload; function ArcSin(const X : Single) : Single; overload; function ArcTan2(const Y, X: Extended): Extended; procedure SinCos(const Theta: Extended; var Sin, Cos: Extended) register; function Tan(const X: Extended): Extended; function Cotan(const X: Extended): Extended; { 1 / tan(X), X <> 0 } function Secant(const X: Extended): Extended; { 1 / cos(X) } function Cosecant(const X: Extended): Extended; { 1 / sin(X) } function Hypot(const X, Y: Extended): Extended; { Sqrt(X**2 + Y**2) } function RadToDeg(const Radians: Extended): Extended; inline; { Degrees := Radians * 180 / PI } function RadToGrad(const Radians: Extended): Extended; inline; { Grads := Radians * 200 / PI } function RadToCycle(const Radians: Extended): Extended; inline; { Cycles := Radians / 2PI } function DegToRad(const Degrees: Extended): Extended; inline; { Radians := Degrees * PI / 180} function DegToGrad(const Degrees: Extended): Extended; function DegToCycle(const Degrees: Extended): Extended; function GradToRad(const Grads: Extended): Extended; inline; { Radians := Grads * PI / 200 } function GradToDeg(const Grads: Extended): Extended; function GradToCycle(const Grads: Extended): Extended; function CycleToRad(const Cycles: Extended): Extended; inline; { Radians := Cycles * 2PI } function CycleToDeg(const Cycles: Extended): Extended; function CycleToGrad(const Cycles: Extended): Extended; { Hyperbolic functions and inverses } function Cot(const X: Extended): Extended; inline; { alias for Cotan } function Sec(const X: Extended): Extended; inline; { alias for Secant } function Csc(const X: Extended): Extended; inline; { alias for Cosecant } function Cosh(const X: Extended): Extended; function Sinh(const X: Extended): Extended; function Tanh(const X: Extended): Extended; function CotH(const X: Extended): Extended; inline; function SecH(const X: Extended): Extended; inline; function CscH(const X: Extended): Extended; inline; function ArcCot(const X: Extended): Extended; { IN: X <> 0 } function ArcSec(const X: Extended): Extended; { IN: X <> 0 } function ArcCsc(const X: Extended): Extended; { IN: X <> 0 } function ArcCosh(const X: Extended): Extended; { IN: X >= 1 } function ArcSinh(const X: Extended): Extended;
Delphi控制Excel的重要属性和方法
Delphi控制Excel2000 类别:COM&ActiveX (一)使用动态创建的方法 首先创建Excel对象,使用ComObj: var ExcelApp:Variant; ExcelApp:=CreateOleObject('Excel.Application'); 1)显示当前窗口: ExcelApp.Visible:=True; 2)更改Excel标题栏: ExcelApp.Caption:='应用程序调用Microsoft Excel'; 3)添加新工作簿: ExcelApp.WorkBooks.Add; 4)打开已存在的工作簿: ExcelApp.WorkBooks.Open('C:\Excel\Demo.xls'); 5)设置第2个工作表为活动工作表: ExcelApp.WorkSheets[2].Activate; 或 ExcelApp.WorksSheets['Sheet2'].Activate; 6)给单元格赋值: ExcelApp.Cells[1,4].Value:='第一行第四列'; 7)设置指定列的宽度(单位:字符个数),以第一列为例: ExcelApp.ActiveSheet.Columns[1].ColumnsWidth:=5; 8)设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例: ExcelApp.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米 9)在第8行之前插入分页符: ExcelApp.WorkSheets[1].Rows[8].PageBreak:=1; 10)在第8列之前删除分页符: ExcelApp.ActiveSheet.Columns[4].PageBreak:=0; 11)指定边框线宽度: ExcelApp.ActiveSheet.Range['B3:D4'].Borders[2].Weight:=3; 1-左2-右3-顶4-底5-斜(\)6-斜(/) 12)清除第一行第四列单元格公式: ExcelApp.ActiveSheet.Cells[1,4].ClearContents; WrapText:=True可能是自动换行 13)设置第一行字体属性: ExcelApp.ActiveSheet.Rows[1]https://www.360docs.net/doc/2814352168.html,:='隶书'; ExcelApp.ActiveSheet.Rows[1].Font.Color:=clBlue; ExcelApp.ActiveSheet.Rows[1].Font.Bold:=True; ExcelApp.ActiveSheet.Rows[1].Font.UnderLine:=True; 14)进行页面设置: a.页眉: ExcelApp.ActiveSheet.PageSetup.CenterHeader:='报表演示'; b.页脚:
delphi自定义函数收集1
本文包含以下自定义函数: 1、Base64编码函数。 2、Base64解码函数。 3、截取汉字子串函数,防止出现半个汉字现象。 4、人民币小写转换为大写函数。 1、Base64编码函数。 //Base64编码函数 function Base64Encode(InputData: string): string; //; Var OutputData: String const Base64TableLength = 64; Base64Table: string[Base64TableLength] = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+*'; Pad = '='; var i: integer; CurrentB, PrevB: byte; c: byte; s: char; InputLength: integer; OutputData: string; FilterDecodeInput: Boolean; function ValueToCharacter(value: byte; var character: char): Boolean; //****************************************************************** // 将一个在0..Base64TableLength-1区间内的值,转换为与Base64编码相对应 // 的字符来表示,如果转换成功则返回True //****************************************************************** begin result := true; if (value > Base64TableLength - 1) then result := false else character := Base64Table[value + 1]; end; begin FilterDecodeInput := true; OutputData := ''; InputLength := Length(InputData); i := 1;
EXCEL中常用函数及使用方法
EXCEL中常用函数及使用方法 Excel函数一共有11类:数据库函数、日期与时间函数、工程函数、财务函数、信息函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数以及用户自定义函数。 1.数据库函数 当需要分析数据清单中的数值是否符合特定条件时,可以使用数据库工作表函数。例如,在一个包含销售信息的数据清单中,可以计算出所有销售数值大于1,000 且小于2,500 的行或记录的总数。Microsoft Excel 共有12 个工作表函数用于对存储在数据清单或数据库中的数据进行分析,这些函数的统一名称为Dfunctions,也称为D 函数,每个函数均有三个相同的参数:database、field 和criteria。这些参数指向数据库函数所使用的工作表区域。其中参数database 为工作表上包含数据清单的区域。参数field 为需要汇总的列的标志。参数criteria 为工作表上包含指定条件的区域。 2.日期与时间函数 通过日期与时间函数,可以在公式中分析和处理日期值和时间值。 3.工程函数 工程工作表函数用于工程分析。这类函数中的大多数可分为三种类型:对复数进行处理的函数、在不同的数字系统(如十进制系统、十六进制系统、八进制系统和二进制系统)间进行数值转换的函数、在不同的度量系统中进行数值转换的函数。 4.财务函数 财务函数可以进行一般的财务计算,如确定贷款的支付额、投资的未来值或净现值,以及债券或息票的价值。财务函数中常见的参数: 未来值(fv)--在所有付款发生后的投资或贷款的价值。 期间数(nper)--投资的总支付期间数。 付款(pmt)--对于一项投资或贷款的定期支付数额。 现值(pv)--在投资期初的投资或贷款的价值。例如,贷款的现值为所借入的本金数额。 利率(rate)--投资或贷款的利率或贴现率。 类型(type)--付款期间内进行支付的间隔,如在月初或月末。 5.信息函数 可以使用信息工作表函数确定存储在单元格中的数据的类型。信息函数包含一组称为IS 的工作表函数,在单元格满足条件时返回TRUE。例如,如果单元格包含一个偶数值,ISEVEN 工作表函数返回TRUE。如果需要确定某个单元格区域中是否存在空白单元格,可以使用COUNTBLANK 工作表函数对单元格区域中的空白单元格进行计数,或者使用ISBLANK 工作表函数确定区域中的某个单元格是否为空。 6.逻辑函数 使用逻辑函数可以进行真假值判断,或者进行复合检验。例如,可以使用IF 函数确定条件为真还是假,并由此返回不同的数值。
DELPHI常用函数说明
一、数据类型转换函数1 在我们编写程序当中,根据不同情况,会使用到多种数据类型。当要对不同的类型进行操作时,必须要将不同的类型转换成同样的类型。因此熟练地掌握数据类型的转换是非常重要的。 1.FloatToStr 功能说明:该函数用于将“浮点型”转换成“字符型”。 参考实例: Edit1.Text := FloatToStr(1.981); 2.IntToStr 功能说明:该函数用于将“整数型”转换成“字符型”。 参考实例: S := IntToStr(10);(注:S为String类型变量。) 3.IntToHex 功能说明:该函数用于将“十进制”转换成“十进制”。该函数有二个参数1。第一个参数为要转换的十进制数据,第二个参数是指定使用多少位来显示十六进制数据。 参考实例: Edit1.Text := IntToHex('100', 2);
执行结果,Edit1.Text等于64。 注意:Delphi没有提供专门的“十六进制”转换为“十进制”的函数。使用StrToInt函数可以实现这个功能。具体代码是:I := StrToInt('S\' + '64'); 这时I等于100。加上一个'S\'即可将“十六进制”转换为“十进制”。 4.StrToInt 功能说明:该函数用于将“字符型”转换成“整数型”。 参考实例: I := StrToInt('100'); 注意:不能转换如StrToInt('ab')或StrToInt('好')这样的类型,因为他们并不存在数字型。 5.StrToFloat 功能说明:该函数用于将“字符型”转换成“浮点型”。 参考实例: N := StrToFloat(Edit1.Text); 注意:Edit1.Text中的内容为1.981(凡在Edit 控件中显示的文本均为字符串)。N为Double类型,用于保存转换后的浮点型数据。
常用excel函数公式大全
常用的excel函数公式大全 一、数字处理 1、取绝对值 =ABS(数字) 2、取整 =INT(数字) 3、四舍五入 =ROUND(数字,小数位数) 二、判断公式 1、把公式产生的错误值显示为空 公式:C2 =IFERROR(A2/B2,"") 说明:如果是错误值则显示为空,否则正常显示。
2、IF多条件判断返回值 公式:C2 =IF(AND(A2<500,B2="未到期"),"补款","") 说明:两个条件同时成立用AND,任一个成立用OR函数。 三、统计公式 1、统计两个表格重复的内容 公式:B2 =COUNTIF(Sheet15!A:A,A2) 说明:如果返回值大于0说明在另一个表中存在,0则不存在。
2、统计不重复的总人数 公式:C2 =SUMPRODUCT(1/COUNTIF(A2:A8,A2:A8)) 说明:用COUNTIF统计出每人的出现次数,用1除的方式把出现次数变成分母,然后相加。 四、求和公式
1、隔列求和 公式:H3 =SUMIF($A$2:$G$2,H$2,A3:G3) 或 =SUMPRODUCT((MOD(COLUMN(B3:G3),2)=0)*B3:G3)说明:如果标题行没有规则用第2个公式 2、单条件求和 公式:F2 =SUMIF(A:A,E2,C:C) 说明:SUMIF函数的基本用法
3、单条件模糊求和 公式:详见下图 说明:如果需要进行模糊求和,就需要掌握通配符的使用,其中星号是表示任意多个字符,如"*A*"就表示a前和后有任意多个字符,即包含A。
4、多条件模糊求和 公式:C11 =SUMIFS(C2:C7,A2:A7,A11&"*",B2:B7,B11) 说明:在sumifs中可以使用通配符* 5、多表相同位置求和 公式:b2 =SUM(Sheet1:Sheet19!B2) 说明:在表中间删除或添加表后,公式结果会自动更新。 6、按日期和产品求和
Delphi函数大全
Delphi函数大全 首部function Languages: TLanguages; $[ 功能返回系统语言对象 说明通过此函数可以得到系统的语言环境 参考type 例子 12a12c12a12c. 参考
Delphi操作EXCEL函数整理
一、使用单元: Use :EXCEL 2000, ComObj 二、定义 var ExcelApp,Sheet,Range: Variant; 注释: ExcelApp 为定义的Excel 对象 Sheet 为定义的工作表(Sheet)对象 Range 为定义的工作表范围 三、关于Excel 对象创建初始化以及工作表、工作表范围的初始化 1. 创建excel对象: ExcelApp := CreateOleObject( 'Excel.Application' ); 2. 显示当前窗口: ExcelApp.Visible := True; 3. 更改Excel 标题栏: ExcelApp.Caption := '应用程序调用Microsoft Excel'; 4. 添加新工作簿: ExcelApp.WorkBooks.Add; 5 打开已存在的工作簿: ExcelApp.WorkBooks.Open(FilePath); 6.设置工作簿默认工作表张数 ExcelApp.SheetsInNewWorkbook := 1; 7.设置工作表名称 ExcelApp.Workbooks[WorkbookNum].WorkSheets[WorkSheetNum].Name := PName; 8.工作表初始化 Sheet:= ExcelApp.Workbooks[WorkbookNum].WorkSheets[WorkSheetNum]; 9.工作表范围初始化 Range := Sheet.Range['A1:DL1'] ; 10.设置第2个工作表为活动工作表: ExcelApp.WorkSheets[2].Activate; 或 ExcelApp.WorksSheets[ 'Sheet2' ].Activate; 三、单元格赋值设置数值类型 1. 给单元格赋值: ExcelApp.Cells[row, column].Value := '第一行第四列'; 或 Sheet.Cells[row, column] := ‘第一行第四列’; 2 清除第一行第四列单元格公式:
人力资源常用EXCEL函数汇总
1、利用身份证号码提取员工性别信息 我国新一代的18 位身份证号码有一个很明显的特征,身份证号的倒数第2 位是奇数,为男性,否则是女性。根据这一特征,利用MID 和TRUNC两个函数判断员工的性别,而不必逐个输入,这样既避免了输入的烦琐工作,又保证了数据的正确性 操作步骤: 在单元格区域E3:E19 中输入员工的身份证号码。 MID 返回文本字符串中从指定位置开始指定数目的字符,该数目由用户指定。格式:MID(text,start_num,num_chars)。参数:text(文本)代表要提取字符的文本字符串;start_num(开始数值)代表文本中要提取字符的位置,文本中第1 个字符的start_num 为1,以此类推;num_chars(字符个数)指定MID 从文本中返回字符的个数。
函数TRUNC 的功能是将数字的小数部分截去,返回整数。格式:TRUNC(number,num_digits)。参数:number(数值)需要截尾取整的数字。num_digits(阿拉伯数字)用于指定取整精度的数字,num_digits 的默认值为0。 2、利用身份证号码提取员工出生日期信息 利用身份证号码来提取员工的出生日期,既准确又节省时间。具体操作步骤如图
函数TEXT 功能是将数值转换为指定数字格式表示的文本。格式:TEXT(value,format_text)。参数:value(数值)指数值、计算结果为数字值的公式,或对包含数字值的单元格的引用;format_text(文本格式)为【单元格格式】对话框中【数字】选项卡上【分类】文本框中的文本形式 的数字格式。函数LEN 功能是返回文本字符串中的字符数。格式:LEN(text)。参数:text 表示要查找的文本,空格将作为字符进行计数。 3、计算员工年龄 企业中的职务变动和员工的年龄有密切的关系,员工年龄随着日期变化而变动,借助于函数YEAR 和TODAY 可以轻松输入。 选择单元格区域F3:F19,单击【开始】选项卡,在【数字】组中单击
【Delphi】汇出Excel时,Excel单元格格式设置(附Delphi操作Excel方法)
【Delphi】汇出Excel时,Excel单元格格式设置(附Delphi操作Excel方法) 一个例子: excelworksheet1.Cells.Item[row,3]. numberformatlocal:='$#,##0.00;[红色]-$#,##0.00'; excelworksheet1.Cells.Item[row,3].Formula:='=SUM(R[-'+inttostr(row-rowflag+1)+']C:R[-1]C)'; excelworksheet1.Cells.Item[row,3].Borders[3].LineStyle :=xlContinuous; excelworksheet1.Cells.Item[row,3].Borders[4].LineStyle :=xlDouble; excelworksheet1.Cells.Item[row,4].Borders[3].LineStyle :=xlContinuous; excelworksheet1.Cells.Item[row,4].Borders[4].LineStyle :=xlDouble; excelworksheet1.Cells.Item[row,4].Formula:='=R[-1]C'; 注:不知道公式及格式,均可通过录制宏找出对应公式及格式。 效果如下图: 资料来自网络 单元格设置 1.设置单元格线框 Excel.ActiveSheet.Range[B10:C13].Borders[N].LineStyle := xlNone Excel.ActiveSheet.Range[B10:C13].Borders[N].Weight := xlThin
十一个办公常用的最基本的Excel函数
十个办公常用的最基本的Excel函数 今天和大家分享的这些Excel函数都是最基本的,但应用面却非常广,学会基本Excel 函数,也可以让工作事半功倍。 1、SUM函数 SUM函数的作用是求和。 统计一个单元格区域: =sum(A1:A10) 统计多个单元格区域: =sum(A1:A10,C1:C10) 2、AVERAGE函数 Average 的作用是计算平均数。 可以这样: =AVERAGE(A1:A10)
也可以这样: =AVERAGE(A1:A10,D1:D10) 3、COUNT函数 COUNT函数计算含有数字的单元格的个数。 COUNT函数参数可以是单元格、单元格引用,或者数字。 COUNT函数会忽略非数字的值。 如果A1:A10是COUNT函数的参数,其中只有两个单元格含有数字,那么COUNT函数返回的值是2。 也可以使用单元格区域作为参数,如: =COUNT(A1:A10)
4、IF函数(重点掌握) IF函数的作用是判断一个条件,然后根据判断的结果返回指定值。 条件判断的结果必须返回一个或TRUE或FALSE的值,即“是”或是“不是”。 例如: 给出的条件是B2>C3,如果比较结果是TRUE,那么IF函数就返回第二个参数的值;如果是FALSE,则返回第三个参数的值。 IF函数的语法结构是: =IF(逻辑判断,为TRUE时的结果,为FALSE时的结果) 增加内容: 1.IF函数的语法结构 IF函数的语法结构:IF(条件,结果1,结果2)。 2.IF函数的功能 对满足条件的数据进行处理,条件满足则输出结果1,不满足则输出结果2。可以省略结果1或结果2,但不能同时省略。 3.条件表达式 把两个表达式用关系运算符(主要有=,<>,>,<,>=,<=等6个关系运算符)连接起来就构成条件表达式。 4.IF函数嵌套的执行过程 如果按等级来判断某个变量,IF函数的格式如下: IF(E2>=85,"优",IF(E2>=75,"良",IF(E2>=60,"及格","不及格"))) 函数从左向右执行。首先计算E2>=85,如果该表达式成立,则显示“优”,如果不成立就继续计算E2>=75,如果该表达式成立,则显示“良”,否则继续计算E2>=60,如果该表达式成立,则显示“及格”,否则显示“不及格”。
DELPHI常用组件
Delphi常用组件的使用 目录 1.按钮类组件 1.1Button组件
Button组件位于Standard页。 Button组件的常用属性表 属性描述 Cation用于在按钮上显示文本内容 Cancel用来指定按钮是否为取消按钮 Default用于指定按钮是否为默认按钮,在按Enter键时也选中命令按钮Hint设置鼠标在组件上短暂停时在组件旁显示的提示小窗口的内容ShowHint确定是否显示提示文本,默认值是FALSE 1.2Bitbtn组件 Bitbtn组件(位图组件)位于Additional,与Button很相似,只是多了一个位图符号在按钮上(如带有对号的OK,问好的Help等),其某些属性与Button类似,下表为其独有的的特性。(注:此组件不需编写代码) Bitbtn组件的常用属性表 属性描述 Kind Kind属性的值就是位图按钮上显示的图标。Kind属性后的下拉列表中有一组默认图标的属性值,有bkCancel(取消)、bkAbort(终止)、bkAll(所有)、 bkClose(关闭)等。 Glyph用于在位图按钮上显示加载后的位图图形 NumGlyphs用于指明位图按钮所能使用位图的个数。在delphi中,最多允许向一个位图按钮提供4个图像文件,用于表示4中不停状态 Layout用于指出位图图形在位图组件上的放置位置 1.3SpeedButton组件 SpeedButton组件(加速按钮)位于Additional,常放置在Panel组件上,用于设计工具栏。它与Bitbtn相似,也可以显示图像和文本,但通常只用于显示图像。 SpeedButton组件的常用属性表 属性描述 AllowAllUp用于设置同一组的加速按钮是否具有同时弹起的状态。若设置为FALSE,则当同一组加速按钮中的一个被按下时,其他加速按钮都处于弹起状态,即这 组按钮必须有且只有一个处于按下状态 Down用于设置该加速按钮是否处于按下状态,若设置为TRUE,则表示按钮处于按下状态 Flat用于设置在鼠标移动到该按钮上时,按钮是否显示三维效果。为FLASE则不出现 GroupIndex用于将数个加速按钮设置成一组,只需将其值设置成不等于0的数值即可1.4RadioButton组件
《Delphi参考手册》
《Delphi参考手册》 ===========================================================================名称类型说明 --------------------------------------------------------------------------- Abort函数引起放弃的意外处理 Abs函数绝对值函数 AddExitProc函数将一过程添加到运行时库的结束过程表中 Addr函数返回指定对象的地址 AdjustLineBreaks函数将给定字符串的行分隔符调整为CR/LF序列Align属性使控件位于窗口某部分 Alignment属性控件标签的文字位置 AllocMem函数在堆栈上分配给定大小的块 AllowGrayed属性允许一个灰度选择 AnsiCompareStr函数比较字符串(区分大小写)AnsiCompareText函数比较字符串(不区分大小写)AnsiLowerCase函数将字符转换为小写 AnsiUpperCase函数将字符转换为大写 Append函数以附加的方式打开已有的文件 ArcTan函数余切函数 AssignFile函数给文件变量赋一外部文件名 Assigned函数测试函数或过程变量是否为空 AutoSize属性自动控制标签的大小 BackgroundColor属性背景色 BeginThread函数以适当的方式建立用于内存管理的线程BevelInner属性控件方框的内框方式 BevelOuter属性控件方框的外框方式 BevelWidth属性控件方框的外框宽度 BlockRead函数读一个或多个记录到变量中 BlockWrite函数从变量中写一个或多个记录 BorderStyle属性边界类型 BorderWidth属性边界宽度 Break命令终止for、while、repeat循环语句 Brush属性画刷 Caption属性标签文字的内容 ChangeFileExt函数改变文件的后缀 ChDir函数改变当前目录 Checked属性确定复选框选中状态 Chr函数返回指定序数的字符 CloseFile命令关闭打开的文件 Color属性标签的颜色 Columns属性显示的列数 CompareStr函数比较字符串(区分大小写) Concat函数合并字符串
(完整版)excel基本常用函数公式大全
1、查找重复内容公式:=IF(COUNTIF(A:A,A2)>1,"重复","")。 2、用出生年月来计算年龄公式: =TRUNC((DAYS360(H6,"2009/8/30",FALSE))/360,0)。 3、从输入的18位身份证号的出生年月计算公式: =CONCATENATE(MID(E2,7,4),"/",MID(E2,11,2),"/",MID(E2,13,2))。 4、从输入的身份证号码内让系统自动提取性别,可以输入以下公式: =IF(LEN(C2)=15,IF(MOD(MID(C2,15,1),2)=1,"男","女"),IF(MOD(MID(C2,17,1),2)=1,"男","女"))公式内的“C2”代表的是输入身份证号码的单元格。 1、求和:=SUM(K2:K56) ——对K2到K56这一区域进行求和; 2、平均数:=AVERAGE(K2:K56) ——对K2 K56这一区域求平均数; 3、排名:=RANK(K2,K$2:K$56) ——对55名学生的成绩进行排名; 4、等级:=IF(K2>=85,"优",IF(K2>=74,"良",IF(K2>=60,"及格","不及格"))) 5、学期总评:=K2*0.3+M2*0.3+N2*0.4 ——假设K列、M列和N列分别存放着学生的“平时总评”、“期中”、“期末”三项成绩; 6、最高分:=MAX(K2:K56) ——求K2到K56区域(55名学生)的最高分;
7、最低分:=MIN(K2:K56) ——求K2到K56区域(55名学生)的最低分; 8、分数段人数统计: (1)=COUNTIF(K2:K56,"100") ——求K2到K56区域100分的人数;假设把结果存放于K57单元格; (2)=COUNTIF(K2:K56,">=95")-K57 ——求K2到K56区域95~99.5分的人数;假设把结果存放于K58单元格; (3)=COUNTIF(K2:K56,">=90")-SUM(K57:K58) ——求K2到K56区域90~94.5分的人数;假设把结果存放于K59单元格; (4)=COUNTIF(K2:K56,">=85")-SUM(K57:K59) ——求K2到K56区域85~89.5分的人数;假设把结果存放于K60单元格; (5)=COUNTIF(K2:K56,">=70")-SUM(K57:K60) ——求K2到K56区域70~84.5分的人数;假设把结果存放于K61单元格; (6)=COUNTIF(K2:K56,">=60")-SUM(K57:K61) ——求K2到K56区域60~69.5分的人数;假设把结果存放于K62单元格; (7)=COUNTIF(K2:K56,"<60") ——求K2到K56区域60分以下的人数;假设把结果存放于K63单元格;