我可以在 Google 电子表格公式中定义局部值(或变量)吗?
Can I define a local value (or variable) in a Google Spreadsheet formula?
有时我会想出很长的电子表格公式,例如这个使用 Unicode 字符创建 "data bars" 的公式(地址相对于 G3):
= rept("█"; floor(10 * F3 / max(F:F9)))
& mid(" ▏▎▍▌▋▊▉█";
1 + round(8 * ( 10 * F3 / max(F:F9)
- floor(10 * F3 / max(F:F9))));
1)
最好有某种let()
来定义局部变量:
= let('x', 10 * F3 / max(F:F9),
rept("█"; floor(x))
& mid(" ▏▎▍▌▋▊▉█"; 1 + round(8 * (x - floor(x))); 1))
有这种东西吗?
如果不是,是否有任何巧妙的技巧可以在公式中实现相同的结果? (不使用其他单元格)
编辑:这不是一个很好的例子,因为 sparkline()
函数已经做了这种条形图(感谢哈罗德!)但问题仍然存在:如何清理复杂的公式并避免重复,除了使用额外的电子表格单元格?
电子表格公式 SPARKLINE 可以解决您的问题吗?
=SPARKLINE(10,{"charttype","bar";"max",20})
有时我会想出很长的电子表格公式,例如这个使用 Unicode 字符创建 "data bars" 的公式(地址相对于 G3):
= rept("█"; floor(10 * F3 / max(F:F9)))
& mid(" ▏▎▍▌▋▊▉█";
1 + round(8 * ( 10 * F3 / max(F:F9)
- floor(10 * F3 / max(F:F9))));
1)
最好有某种let()
来定义局部变量:
= let('x', 10 * F3 / max(F:F9),
rept("█"; floor(x))
& mid(" ▏▎▍▌▋▊▉█"; 1 + round(8 * (x - floor(x))); 1))
有这种东西吗?
如果不是,是否有任何巧妙的技巧可以在公式中实现相同的结果? (不使用其他单元格)
编辑:这不是一个很好的例子,因为 sparkline()
函数已经做了这种条形图(感谢哈罗德!)但问题仍然存在:如何清理复杂的公式并避免重复,除了使用额外的电子表格单元格?
电子表格公式 SPARKLINE 可以解决您的问题吗?
=SPARKLINE(10,{"charttype","bar";"max",20})