Functions
基本
- = 表达式
- & 拼接字符串
- power: 指数函数, power(2,3) == 8, power(25, 1/2) == 5。// 相当于 js 里的 Math.pow
- log(number, base): 对数函数, log(8,2) == 3
- if(condition, true_value, false_value)
- trunc(3.1415926, 2) // 3.14, 保留整数后2位小数
- ISBLANK(C1) // 判断cell是否为空
- TIMEVALUE("02:00:00") // [0-1], 当前时间占一天时间比例。
注: log 与 js 里的 Math.log 不同。 js 的 Math.log 是固定以 e 为底的自然对数。
Excel: log(8,2) == JavaScript: Math.log(8) / Math.log(2) == 3
寻址
获取单元格里数据:
A1: 相对引用。
$A1: 列绝对引用,行相对引用。
$A$1: 绝对引用。
绝对引用和相对引用区别是拖动公式单元格自动连续创建时新生成公式里引用是否发生变化。
row(), column(): 获得当前单元格的行和列序号(均从1开始)
address(ROW_NUM, COLUMN_NUM):获得指定位置单元格绝对地址
address(2, 1) // $A$2
address(ROW(), COLUMN()): 获得当前单元格地址
INDIRECT(addr) // 获得指定地址单元格内容
INDIRECT(address(2, column())) // 获得当前单元格所在列的第2行的单元格里内容
INDIRECT("b2:b" & ROW()) // b列从第2行到当前单元格所在行这段区域内容
金融相关函数
NPV(rate, values) // 计算净现值
IRR(values, guess = 0.1) // 计算内部收益率
FV(rate,nper,pv,pmt = 0,type = 0) // 计算定期投资复利总本息和
FV
FV(rate,nper,pmt,pv = 0,type = 0)
rate: 利率
nper: 期数
pv: 每期现金流。对于投资,为负数。
pmt: (可省)期初现金。对于投资,为负数。默认0
type: (可省)每期现金流发生时间。0 == 期末,1 == 期初。默认为0(期末)。
例如,初始资金 20万元,每年末追加投资 3万元,投资年化收益率 10%,则 10 年后本息和为:
=fv(0.1, 20, -3, -20, 10) // 104.47 万元
JavaScript
Google Sheets 可以使用 JavaScript 自定义函数,入口为 Tools > Script editor