Excel实战技巧97:使用模拟运算表突破D函数的限制
在Excel中,有一组基于判断条件执行计算的数据库函数,共12个,也称之为D-函数,例如DMIN、DMAX和DSUM函数。当执行单独的计算且数据集具有字段名称(列标签)时,这些函数非常强大。
如下图1所示,使用DMIN函数来计算指定城市的最小时间。
图1
如果仅要知道某个城市的最小时间,使用DMIN函数比使用数组公式更简单且对于大数据集来说速度更快。然而,使用DMIN函数需要在某单元格中输入字段名并在该字段名下方输入判断条件,这意味着对于每次计算都需要在上下两个单元格中输入相应的内容。如下图2所示,显然,对于多个值不能像以前那样简单地下拉公式,这是其不利之处。
图2
有时候,对于非常大的数据来说公式计算时间过长是个问题,下图3展示了一个解决方案,充分利用D-函数优于数组公式计算的优势。
图3
下面是创建上述解决方案的步骤:
1. 在单元格E3中创建公式。
2. 在单元格区域D6:D8中输入所有的城市名称。
3. 在单元格E5中,创建指向单元格E3的公式。
4. 选择单元格区域D5:E8,按Alt、D、T键,(或者单击功能区“数据”选项卡“预测”组中的“模拟分析——模拟运算表”命令)打开“模拟运算表”对话框,如下图4所示。
图4
6. 在“输入引用列的单元格”中输入D3,单击“确定”按钮。
上述技巧还可以解决多条件问题。如下图5所示,使用DGET函数可以求出满足指定产品代码和“L/R?”的数量。
图5
正如前面指出的,如果要求满足多个产品代码和“L/R?”的数量,则必须逐个添加字段名和判断条件,否则就要使用数组公式。然而,我们也可以使用模拟运算表来解决。
如下图6所示,在单元格E7中输入:
=G4
引用单元格G4中的值。分别在行中输入要查找的产品代码,在列中输入L和R。
图6
选择单元格区域E7:H9,单击功能区“数据”选项卡“预测”组中的“模拟分析——模拟运算表”命令,打开“模拟运算表”对话框。在该对话框中输入引用行、列的单元格,如下图7所示。
图7
单击“确定”后,得到的结果如下图8所示。
图8