电子表格里确定具体数值在一个取值范围内的行号
在电子表格里,有时需要确定一个具体数值在一个取值范围内的行号位置,这时需要用到 MATCH 函数。比如,根据学生分数确定该学生的等级。本以运输重量和运费标准的对应为例,演示一下 MATCH 函数的用法。
如图所示,“运输费用表”是重量与运费的对应表;“运费流水”表是日常发生的运输流水账。
数据范围为升序的定位方法
- 01
有这样一张《运输费用表》,它标明了不同的运输重量对应的运费价格。第一行是“1”对应“100”,意思是从 1 吨到 100 吨的区间(包含 1 吨但不包含 100 吨,即为一个 [1,100)的区间),每吨的运费为 200 元;以此类推。
- 02
现在,在每天的运费流水账里,通过每一次真实的运输重量,来确定相应的运输费用。 输入该次运输发生的日期,该次运输的重量,在“运费对应的等级”中,输入: =MATCH( 然后鼠标点击该次运输的重量所在的单元格。
- 03
现在公式变成: =MATCH(C5,) 这时,鼠标点击“运输费用表”,然后选择其中的“运输重量(吨)”列中的数据单元格,这时公式变成: =MATCH(C5,运输费用表.B5:B11,) 分别在公式中“B5”和“B11”上按下 F4 键,使其从相对引用状态变为绝对引用状态。这时公式变成: =MATCH(C5,$运输费用表.$B$5:$B$11,)
- 04
现在,输入数字“1”,公式变成: =MATCH(C5,$运输费用表.$B$5:$B$11,1) 按下回车,该单元格返回数字:“3”。
- 05
总结一下,我们在“重量”单元格输入了数字“233”,然后用 MATCH 函数在“运输费用表”中,查找“233”对应的运费等级。由于 200<=233<500,位于 [200,500) 这一区间,因此返回的数字“3”,就代表“运输费用表”中“运输重量(吨)”是“200”的那一行,也就是第 3 行。
数据范围为降序的定位方法
- 01
前面的定位方法,如果运输重量刚好是 100 吨,运费水平将会被定位到 [100,200) 的区间。有时,我们需要这样的结果:那就是 100 吨应该属于 (1,100] 这一区间,也就是只有超过 100 吨,才进入 (100,200] 这一区间。 在前面的方法中,MATCH 函数使用的最后一个参数“1”,意思是查找范围内“小于或等于”目标值的“最大值”。 现在,我们稍做改变,实现对“大于或等于目标值的最小值”的查找。 在“运输费用表”中选中“运输重量(吨)”列中所有的数据单元格,然后“数据”菜单——“降序”菜单项。
- 02
由于上一步骤中提到的区间的变化,运输重量和运费的对应关系也发生了变化,因此需要对数据进行修改,注意与上一栏目中表数字的区别。
- 03
再到“运费流水”表中看一下,发现前面输入公式的地方,出现了“#N/A”的字样,意思是没找到。按下 F2 键,将公式改成: =MATCH(C5,$运输费用表.$B$5:$B$10,-1) 最后一个参数由“1”改为“-1”,意思就是查找“大于或等于目标值的最小值”。
- 04
现在,在“运费流水”表的“重量”一列中输入“200”,公式将返回数字“5”,也就是对应 (100,200] 这一区间;如果输入“201”,则返回“4”,也就是对应 (200,500] 这一区间。