Excel 有着强大的内置公式。但有时在做数据分析的时候,我们想看到在输入值不同的时候,公式的结果又会发生什么改变;有时我们想重复进行某个运算,最后看到运算的结果。
虽然通过“$”号固定公式再拖动,也可以达到类似的效果,但过于麻烦。如果定位错了公式,就会导致整个数据表计算结果错误。那么怎样才能快速、准确的方法进行模拟运算呢?
模拟运算表就是Excel里面操作这类模拟运算的捷径。模拟运算表功能可以在数据>预测分析>模拟运算表中找到。
模拟运算表的操作非常简单,只需要两个参数:引用行的单元格和引用列的单元格。这两个参数的含义和用法将在之后的实例中讲解。
模拟运算表的基本原理是在表格左上角写上公式,然后行的改变对应“引用行的单元格”,列的改变对应“引用列的单元格”,最后将计算结果输出到表格矩阵当中。
(一)单一变量
如果模拟运算中只希望一个变量发生改变,那么就适合单一变量的模拟运算表。
以贷款计算为例。假设想要计算一笔20,000美元的贷款,3年按月等额还款。现在想知道,在不同利率下,每月还款额会发生什么变化。
1. 列出公式
利用Excel的PMT公式,可以很快得出一个情况下的结果:
2. 建立变化表
那么,我们想改变利率的值,看不同利率下的还款额的多少。利用模拟运算表,可以如下建立一个利率变化表。注意第一行留出一行,以便引用公式。
3. 引用公式
在模拟运算表的第一行,引用刚才的公式。
在“还款额”列中第一行用“=”引用刚刚的PMT公式:
或者直接输入公式
总之,在模拟运算表的第一行,一定要有一个引用了其他单元格的公式,否则Excel就不知道你要变化什么参数了哦。
4. 使用模拟运算表
(1)选中表格。这一步非常容易出错,总的方针就是,注意不要选中标题行,注意不要选中标题行,注意不要选中标题行!!因为标题行是我们用来可视化的,Excel在计算时并不能把文字纳入计算范围,所以千万不要选中文字哦;
(2)数据>预测分析>模拟运算表;
(3)因为我们把利率变化放在了列上,因此在“引用列的单元格”中选择PMT公式里的利率;
(4)点确定,生成模拟运算表。
完成!
举一反三
如果是转置的表格,那么在参数里应该填引用行的单元格。
(二)双变量
还是贷款的例子,这时候引入一个新的变量。我们想知道,如果还款期限和利率同时变化,那么每期的还款额会怎么变化呢?
双变量的情况时,操作与单变量的时候相同。那么这次我们稍微简化下步骤,更快得到结果。
1. 列出模拟运算表
如图。我们将矩阵的行作为还款期限的变化参数,将列作为利率的变化参数。
2. 输入公式
在表格的左上角输入我们要计算的PMT公式:
注意,这个“左上角”非常重要,公式必须写在行和列的交汇处。
3. 模拟运算
双因子运算跟单因子运算的步骤相同。
(1)选中表格。注意框选的范围
(2)数据>预测分析>模拟运算表
(3)因为行代表还款期限的变化,列代表利率的变化。因此在“引用行”中填写还款期限的引用,在“引用列”中填写利率的变动
(4)点确定,生成模拟运算表
完成!
由于电脑性能不同,在计算双变量模拟的时候可能有些电脑的时间比较久。此时注意不要点鼠标左键或者按Esc键打断计算,等Excel计算完成时,会自动将计算结果呈现在表格中。
如果计算结果中出现了很多“0”值,特别是前面的数据都正常,后面的数据出现了大量“0”,那可能是由于误操作打断了Excel的计算。此时请删掉表格数据,重新计算。
(三)用模拟运算表进行重复运算(无变量)
除了改变公式变量的模拟运算,模拟运算表还能帮我们做什么呢?其实模拟运算表还存在一种“隐藏功能”,那就是重复模拟运算。
假设我们举办一个掷骰子比赛,两个人比赛谁的点数大。点数较大的人可以赢得一定的金钱奖励。这个掷骰子的过程重复100次,我们想用Excel模拟生成每次比赛的结果,最后算出A赢了多少钱。
我们可以选择拖动公式来重复100次模拟,但如果1000次,10000次呢?在较大数据量下的模拟用手动操作比较辛苦。这种重复模拟过程也可以用模拟运算表来实现。
首先,我们假设有两个骰子。用RANDBETWEEN()函数就可以每一次刷新(Excel的刷新键是F9)就得到一个新的随机数。
之后,我们生成一个1-100的序列。一个生成序列的简单方式,就是先输入序列的首位值,并保持选中状态:
开始>填充>序列
在序列中选择按列产生,等差类型,步长和终止值。
确认,就可以直接得到1-100的序列。
在完成序列之后,我们在第一行输入判断语句。
注意输入时,一定要在1前面空一行,因为模拟运算表不能把“序列”文字计算在内。
之后,按照单变量模拟的步骤,选中运算表后,选择模拟运算表。在输入参数时,随便找一个空白的单元格,填入“引用列的单元格”(因为我们的次数序列填在了列上)
确认,即可完成!之后就可以利用模拟结果进行统计分析。