提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|使用教程|编辑:王香|2019-04-22 16:23:23.000|阅读 283 次
概述:数组公式是电子表格中功能最强大且未充分利用的计算功能之一,允许用户使用更简单的计算替换数千个公式,同时提供相同的结果。例如,它们可用于轻松创建销售表中的另一个自动计算列,或创建一些过滤数据。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
数组公式是电子表格中功能最强大且未充分利用的计算功能之一,允许用户使用更简单的计算替换数千个公式,同时提供相同的结果。例如,它们可用于轻松创建销售表中的另一个自动计算列,或创建一些过滤数据。使用数组公式的一些好处包括:
数组公式可以做得更多,但是本教程将重点介绍这些简单的示例,以便您开始使用SpreadJS中的数组公式。
要下载本教程的示例zip,请单击此处。
我们可以先添加javascript/css引用并初始化Spread实例:
<!DOCTYPE html> <html xmlns="//www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title>SJS Array Formulas</title> <link href="//cdn.grapecity.com/spreadjs/hosted/css/gc.spread.sheets.excel2013white.12.0.5.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="//cdn.grapecity.com/spreadjs/hosted/scripts/gc.spread.sheets.all.12.0.5.min.js"></script> <script type="text/javascript" src="ArrayFormulaTest.js"></script> <script> window.onload = function () { var spread = new GC.Spread.Sheets.Workbook(document.getElementById("spreadSheet"), { sheetCount: 1 }); } </script> </head> <body> <div id="spreadSheet" style="width: 825px; height: 800px; border: 1px solid gray"></div> </body> </html>
然后我们可以加载一个已经有表格的预制工作簿:
spread.fromJSON(ArrayFormulaTest); var activeSheet = spread.getActiveSheet();
我们将添加的第一个数组公式是创建一个总列。通常,我们会为每个单元格创建一个公式,以将数量列乘以价格列。我们可以创建一个完成此工作的数组公式,而不是创建要填充的公式:
**= E3:E15 \* F3:F15**
这将返回一个值数组而不是一个值,该值将应用于整个列。在SpreadJS中设置数组公式需要定义行,列,行计数,列数和公式,如下所示:
activeSheet.setArrayFormula(2, 6, 13, 1, "E3:E15*F3:F15");
然后我们可以格式化该新列:
spread.options.allowUserEditFormula = true; activeSheet.getCell(1, 6).value("Total"); activeSheet.setFormula(15, 6, "SUM(G3:G15)"); activeSheet.getRange(1, 6, 15, 1).formatter("$#,#");
使用数组公式可以大大减少为每行创建总列通常所需的公式数量。
数组公式的另一个用途是更容易地汇总数据。例如,您可能希望仅在满足特定条件时将值添加到一起,这是使用常规公式无法轻松完成的。通常,您将使用IF语句,当应用于一系列单元格时,它将返回正值和假值的数组。数组公式是在单个单元格中有效使用它的唯一方法。我们可以为此制作两个表:卖方销售和每个卖方按产品销售:
activeSheet.getCell(1, 8).value("Sales by Seller"); activeSheet.getCell(2, 8).value("Seller"); activeSheet.getCell(2, 9).value("Total"); activeSheet.getCell(3, 8).value("Bob"); activeSheet.getCell(4, 8).value("Chris"); activeSheet.getCell(5, 8).value("Jill"); activeSheet.getCell(7, 8).value("Sales by Product"); activeSheet.getCell(8, 8).value("Seller"); activeSheet.getCell(8, 9).value("Spread"); activeSheet.getCell(8, 10).value("Wijmo"); activeSheet.getCell(8, 11).value("C1 Studio"); activeSheet.getCell(9, 8).value("Bob"); activeSheet.getCell(10, 8).value("Chris"); activeSheet.getCell(11, 8).value("Jill");
我们可以从Sales by Seller表开始。在这种情况下,我们将使用数组公式为每个特定卖家添加所有销售。为了使公式更简单,我们可以继续添加一些自定义名称来使用:
activeSheet.addCustomName("Seller", "$A$3:$A$15", 0, 0); activeSheet.addCustomName("Total", "$G$3:$G$15", 0, 0);
然后我们像这样定义数组公式:
=SUMIF(Seller, I4:I6,Total)
然后我们可以一次在所有三个单元格中设置该数组公式:
activeSheet.setArrayFormula(3, 9, 3, 1, "SUMIF(Seller, I4:I6,Total)");
Sales by Product表中的数组公式将类似,但在这种情况下,我们将按销售的产品将每个卖家的总数相加,这可以使用如下的数组公式来完成:
**=SUMIFS(Total, Seller, \$I\$10:\$I\$12, Product, \$J\$9:\$L\$9)**
这将为表中的每个单元格定义:
activeSheet.addCustomName("Product", "$B$3:$B$15", 0, 0); activeSheet.setArrayFormula(9, 9, 3, 3, "SUMIFS(Total, Seller, $I$10:$I$12, Product, $J$9:$L$9)");
这些只是数组公式的几个简单示例,但它们可以用于更多。现在,SpreadJS支持数组公式,您可以轻松导入最高级的Excel文件。电子表格中更高级Excel功能的可能性是无穷无尽的。
纯前端表格控件SpreadJS,是市面上布局与功能都与 Excel 高度类似的一款表格控件,全中文操作界面,适用于.NET、Java、移动端等多个平台的类 Excel 数据开发,备受华为、中通、民航飞行学院等国内知名企业客户青睐。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢