VTable2 公式功能
1. 功能概述
VTable2 内置了强大的公式计算引擎,支持类似 Excel 的公式功能,可以让用户直接在表格中进行数据计算和分析。主要特点包括:
- 支持丰富的内置函数,如 SUM、AVERAGE、IF 等超过 40 种常用函数
- 提供智能的公式编辑器,带有自动完成和语法高亮功能
- 支持单元格引用和范围选择
- 可进行多表格引用和计算
- 支持公式依赖追踪和自动重新计算
- 检测并避免循环引用问题
2. 支持的公式函数
VTable2 支持的函数包括但不限于:
数学函数
- SUM: 计算总和,例如 =SUM(A1:A10)
- AVERAGE: 计算平均值,例如 =AVERAGE(B2:B8)
- MAX/MIN: 获取最大/最小值,例如 =MAX(C1:C20)
- ROUND: 四舍五入,例如 =ROUND(A1, 2)
- ABS: 绝对值,例如 =ABS(A1)
逻辑函数
- IF: 条件判断,例如 =IF(A1>10, "高", "低")
- AND/OR: 逻辑与/或,例如 =AND(A1>5, A1<10)
- NOT: 逻辑非,例如 =NOT(A1=0)
文本函数
- CONCATENATE: 文本连接,例如 =CONCATENATE(A1, " ", B1)
- LEFT/RIGHT: 提取左侧/右侧字符,例如 =LEFT(A1, 3)
- LEN: 计算文本长度,例如 =LEN(A1)
日期函数
- TODAY: 获取今天日期,例如 =TODAY()
- NOW: 获取当前日期和时间,例如 =NOW()
- YEAR/MONTH/DAY: 提取年/月/日,例如 =YEAR(A1)
查找函数
- VLOOKUP: 垂直查找,例如 =VLOOKUP(A1, B1:C10, 2, FALSE)
- INDEX/MATCH: 索引匹配,例如 =INDEX(A1:C10, MATCH(D1, A1:A10, 0), 2)
3. 公式编辑器
VTable2 提供了一个功能齐全的公式编辑器,帮助用户高效地输入和编辑公式:
- 智能提示: 输入"="后自动提示可用函数
- 自动完成: 键入函数名称的前几个字母,显示匹配的函数列表
- 参数提示: 输入函数时显示参数说明和用法
- 错误检查: 检测括号匹配、语法错误等
- 范围选择: 在输入公式时可直接点击选择单元格或拖动选择范围
- 选取范围高亮: 对公式选取范围进行颜色区分
4. 实现原理
VTable2 的公式系统主要基于以下组件实现:
核心计算引擎
VTableSheet 自身开发了 FormulaEngine 模块 作为核心的计算引擎:
- 支持大多数常见的 Excel 函数
- 构建依赖图以跟踪单元格之间的引用关系
- 高效的增量计算,只重新计算受影响的单元格
公式管理架构
公式系统主要由以下几个部分组成:
- FormulaManager: 核心管理类,负责与 FormulaEngine 交互,处理公式计算和单元格状态管理
- FormulaEditor: 处理公式输入和编辑界面
- FormulaAutocomplete: 提供智能的函数和单元格引用提示
- FormulaRangeSelector: 处理单元格和区域选择逻辑
- CellHighlightManager: 管理公式相关单元格的高亮显示