Excel中公式在报表,特别是财务报表和统计报表中用处很大,简化了使用者进行各种复杂和繁琐的统计。公式在Excel中应用大的不说,我们先说下下面这个简单的
价格统计,如图:
做了一个简单水果日常开销的统计,从该表中不难看出,其中单元格D2、D3、D4、D5和D7都使用了公式,对每种水果的单价和总价进行了统计。以苹果为类,单价为5.5,重量3,那苹果总价为5.5*3=16.5。前面例子已经讲述了如何在单元格中赋值,那如何在单元格中用公式呢,我们先看下Excel中的用法。
一、微软Excel单元格用公式
1.首先输入每种水果的单价和重量。
2.统计每种水果的统计
如要统计每种水果价格,那就应该用单价*重量。以香蕉为类,在单元格D2中输入=B2*C2,其中B2单元格代表香蕉的单价,C2单元格代表香蕉的重量,=B2*C2代表单价*重量,价格就是香蕉的总价。要注意的是:想对单元格用公式,必须要在前面加"=",如不加"=",就会被当文本,那就无法进行统计。
3.统计总价
把每种水果价格进行累加,就是总价。在单元格D7中我们使用的公式是:=SUM(D2:D5),你也可以使用=SUM(D2,D3,D4,D5),如果区域连续,显然用 =SUM(D2:D5)更简洁些,如果遇到要统计的单元格不连续,那=SUM(D2,D3,D4,D5)就能解决这样的问题。
二、用Acey.ExcelX实现的效果

1 /// <summary> 2 /// 下面例子展示公式的用法。 3 /// </summary> 4 public void Sample() 5 { 6 //创建工作薄。 7 IWorkbook workbook = ExcelxApplication.CreateWorkbook(); 8 //获取指定索引的工作表。 9 IWorksheet worksheet = workbook.Worksheets[0]; 10 11 //创建DataTable。 12 DataTable table = new DataTable(); 13 table.Columns.Add("水果名称"); 14 table.Columns.Add("单价", typeof(double)); 15 table.Columns.Add("重量", typeof(double)); 16 table.Columns.Add("价格", typeof(double)); 17 table.Rows.Add(new object[] { "香蕉", 3.5, 2 }); 18 table.Rows.Add(new object[] { "苹果", 5.5, 3 }); 19 table.Rows.Add(new object[] { "西瓜", 6, 5.5 }); 20 table.Rows.Add(new object[] { "橘子", 4, 3 }); 21 22 //将DataTable数据导入到工作表指定的开始位置。 23 worksheet.ImportDataTable(table, true, "A1"); 24 25 //获取指定名称的单元格对象。 26 ICell cell = worksheet.Cells["A7"]; 27 //设置单元格值。 28 cell.Value = "统计总价"; 29 30 //获取指定名称的单元格对象。 31 cell = worksheet.Cells["D2"]; 32 //设置单元格公式。 33 cell.Formula = "=B2*C2"; 34 35 //获取指定名称的单元格对象。 36 cell = worksheet.Cells["D3"]; 37 //设置单元格公式。 38 cell.Formula = "=B3*C3"; 39 40 //获取指定名称的单元格对象。 41 cell = worksheet.Cells["D4"]; 42 //设置单元格公式。 43 cell.Formula = "=B4*C4"; 44 45 //获取指定名称的单元格对象。 46 cell = worksheet.Cells["D5"]; 47 //设置单元格公式。 48 cell.Formula = "=B5*C5"; 49 50 //获取指定名称的单元格对象。 51 cell = worksheet.Cells["D7"]; 52 //设置单元格公式。 53 cell.Formula = "=SUM(D2:D5)"; 54 55 //保存该工作薄为指定类型。 56 string xlsFile = @"d:\Formula.xls"; 57 workbook.SaveAs(xlsFile, FileFormat.Excel97To2003); 58 }
1.首先输入每种水果的单价和重量。这里使用创建DataTable并初始化数据,将该DataTable的数据导入到工作表中指定位置,简化了重复在Cell中赋值的操作。
2.统计每种水果单价:
其中cell = worksheet.Cells["D2"]; cell.Formula = "=B2*C2";表明单元格D2设置公式,对香蕉价格进行统计。
其中cell = worksheet.Cells["D3"];cell.Formula = "=B3*C3";表明单元格D3设置公式,对苹果价格进行统计。
其中cell = worksheet.Cells["D4"];cell.Formula = "=B4*C4";表明单元格D4设置公式,对西瓜价格进行统计。
其中cell = worksheet.Cells["D5"];cell.Formula = "=B5*C5";表明单元格D4设置公式,对橘子价格进行统计。
cell.Formula = "=SUM(D2:D5)";对每种水果价格进行累加。也可以使用=SUM(D2,D3,D4,D5)。
目前Acey.ExcelX已经支持基本场景中的公式,如下所示:
ABS, ACOS, ADDRESS, AND, ASIN, ATAN, AVEDEV, AVERAGE,
AVERAGEA, CEILING, CHOOSE, COLUMN, COLUMNS, COS, COSH, COUNT,
COUNTA, COUNTBLANK, DAY, FALSE, OUR,IF, ISBLANK, ISERR, ISERROR,
ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISREF, ISTEXT, MAX,
MAXA, MEDIAN, MIN, MINA, MINUTE, MONTH, NA, NOT,
NOW, OR, PI, POWER, ROUND, ROW, ROWS, SECOND, SIGN,
SIN, SINH, SQRT, SUM, SUMIF, SUMSQ, SUMPRODUCT, TAN,
TANH, TIME, TODAY, TRUE, TYPE, YEAR。
对公式的支持格式有如下:
以SUM为类:=SUM(1,2), =SUM(A1), =SUM(A1:A5), =SUM(A1,A2,A3,A4,A5), =SUM(A1,B1,C3), =SUM({1,2,3})
三、总结
无需安装微软Excel,用代码也能很轻松实现在报表中应用公式进行各种统计。 下载最新版本到www.aceyoffice.com。如果您想对Acey.ExcelX有进一步了解,在网站下载帮助和Demo。