世界上最早的表格软件介绍  

你能看到多远的过去,就能看到多远的未来。

如今的表格软件功能极其复杂,据说某软的表格软件的需求文档都长达500页。但是它的核心功能,计算原理,设计理念,在40多年之前就定型了,并且是一直保持不变。

为了学习的目的,一定要研究软件的最初的简单的版本。它能包括该类型软件的最核心的功能。如果看软件的最新的2020版,它的功能太过于复杂,只能乱花渐欲迷人眼了。

学习的对象也一定是长久不变的东西,否则很快就过时,而贬值了。如此看来,1979年成名的visicalc 绝对是研究的好对象。它的界面让人很怀旧,如下图。

世界上最早的表格软件介绍
Dan Bricklin是visicalc的两个发明人之一。
我翻译了http://bricklin.com/history/refcard1.htm。
内容如下:
visicalc 使用说明

移动光标
   向左箭头,向右箭头键
把光标进行上下左右移动。

   空格键
把方向指示器在水平和竖直之间来回切换

   分号键
如果有两个窗口,把光标从一个窗口移动到另一个窗口。

   大于号键
进入命令模式,输入你想要光标移动到的入口的坐标,以回车键结束。

ESC键
ESC键被用来修改简单的输入错误。它常用来擦除你输入的最后的内容。如果你按了足够多次的ESC键,它将放弃你输入的所有的内容,返回到visicalc
一个空白的提示行状态。


设置一个标签的入口
标签入口开始一个字母(A到Z),或者是一个双引号“。通过按向左箭头,向右箭头键或者是回车键,来中止标签入口的输入。通过按ESC键来纠正错误。当一个标签入口被输入时,提示行将提示为标签。


设置一个数值的入口
一个数值的入口显示着存储在那个入口的表达式的计算过的结果数值。表达式
由数值,其它数值入口(数值引用)的坐标,函数(例如@sum),算术操作符(+-*/),还有括号。 表达式严格按照从左到右的顺序进行计算,除了由
括号改变了运算优先级。你必须开始一个表达式,以+,一个从0到9的数字 ,或者是@,-,(,#之中的一个符号 为开头的符号。当你输入一个表达式时,提示行提示你正在输入一个数值。向右箭头键或者是回车键,来中止数值入口的输入。通过按ESC键来纠正错误。表达式的例子如下:

12.34                 一个正常的数值
.1234E2            一个用科学记数法的数
2+2                   一个算术表达式
+B4                   一个值引用
2*B4                 一个具有值引用的表达式
2*(3+4)             一个有括号的表达式

如果在输入一个表达式时,按下了!号键。visicalc将计算表达式的值,并且
用计算的结果来替换编辑行中的表达式。

数值引用
在一个入口的表达式能够引用其它的入口的值,当其它的入口的值被改变时,
这个入口的这个表达式的值能够被自动地重新计算。在表达式中数值被允许的
地方都允许数值的引用。一个数值引用的使用,可以通过输入目标入口的坐标值(例如B5),或者通过光标指定的入口(在这种情况下visicalc自动地添加该入口的坐标值)。如果一个表达式以数值引用开始,那么它必须以一个+号开头。

为了把另一个入口的现在的数值作为一个数插入到一个表达式中,
那么这个数不能被其它的入口的稍后的修改所影响到。输入一个
数值的引用要后接一个#号(例如B5#),如果#被自己使用了,它将被
你正在修改的入口的表达式存储的现值所替换。

功能函数
@SUM(list)    计算列表中的数值的和 ,见lists中的解释,如下相似。
@MIN(list)     计算最小值
@MAX(list)    计算最大值
@COUNT(list)   计算列表中的非空的入口的数量,最大数限定为255。
@AVERAGE(list)  计算列表中的非空的入口的平均值,最大数量为255
@NPV(dr,range)   计算在范围之内的现金流的净现值,由dr表达式指定折现率。
在范围中的第一个入口是第一期期末的现金流,第二个入口是第二期期末的现金流,等等,range见入口范围的解释,如下同
@LOOKUP(v,range)  在范围内查找v这个值,作为函数的结果,返回的值行号或者是列号。在范围中的数值是正常按照升序排列的。在比v大的入口被发现前,一定有一个小于等于v的入口存在的。如果范围中的第一个入口的数值大于v,函数的结果是NA。
@NA   它是一个非有效的数值,所有涉及到这个值的表达式的结果都是NA。
@ERROR  它是一个错误的数值,所有的涉及到这个值的表达式的结果都是ERROR。
@PI  它是圆周率 结果是3.1415926536
@ABS(v) 求绝对值
@INT(v)  求整数部分
@EXP(v)  求指数
@SQRT(v) 求平方根
@LN(v)   求自然对数
@LOG10(v)  求以10对底数的对数
@SIN(v)   求正弦
@ASIN(v)  求反正弦
@COS(v)   求余弦
@ACOS(v)  求反余弦
@TAN(v)    求正切
@ATAN(v)  求反正切

功能函数的示例
@SUM(B4...B15)
@MIN(100,F4...F11,@SUM(B4...B15))
@MAX(0,F4-F5)
@NPV(.15,B4...F4)

入口的范围
一个入口的范围包括了一些入口,它们或者是行相邻,或者是列相邻。
例如B2,B3和B4 或者是B2,C2,D2和E2。你在输入一个范围时,仅需要指定第一个入口,然后指定最后一个入口。(中间用...来表示,
visicalc会自动地填充其它的入口)。例如,刚才的两个例子能相应的表示为 B2...B4 和 B2...E2  。在指定坐标时,可以输入它们,或者是用光标来指定。

列表
一个列表是由一些表达式和范围组成的,它们之间以逗号分隔。见上面的功能函数的示例中的列表的例子。

相关文章:

  • 2021-12-15
  • 2022-12-23
  • 2021-09-09
  • 2022-12-23
  • 2021-11-30
  • 2021-10-26
  • 2021-06-18
猜你喜欢
  • 2021-08-29
  • 2021-07-12
  • 2021-09-26
  • 2021-09-21
  • 2021-04-23
  • 2021-12-04
  • 2021-10-11
相关资源
相似解决方案