关于土颗粒筛分曲线及计算“人间三月”大师在“EXCEL使用技巧及实例(节选六)--土颗粒筛分曲线”中提到过,具体的计算方法和过程在这里就不赘述了,在这里向三月大师表达一下敬意,他的计算方法非常简洁实用,比我利用回归方程计算要简单,易于掌握,线性内插的计算大家可以查看三月大师的“EXCEL使用技巧及实例(节选五)--常规线性内插“。这两篇文章都可以在公众号的招聘查询---往期招聘查询中找到。flf检测VBA
下面来说计算,借用一下三月大师的图表和数据:flf检测VBA
在这张图表中,数据是固定的,我可以很轻松的看出通过率为60%的相邻筛孔为10mm和5mm的,计算公式为:flf检测VBA
=10^((D3-E3)/(D2-E2)*(60-E2)+E3)flf检测VBA
这里有一个问题,当通过率发生变化时,也就是通过率为60%的相邻筛孔不在10mm和5mm之间,我需要手动修改公式,修改起来有些麻烦,特别是对有些不熟悉算法和公式的朋友来说,易于出错,那么是不是可以利用Excel函数自动判定和计算呢。flf检测VBA
通过D60的计算公式我们发现首先需要先找出图中的“85.7”“57.4”“1”“0.699”这四个数据,通过查看数字规律,我们发现“85.7”这个值不管如何变化位置,他一定是大于60的最小值,通过这个规律我们来设置公式,前图:我们在A7单元格输入{=MIN(IF($B$2:$J$2>60,$B$2:$J$2))},利用MIN和IF函数再加数组公式求出B2到J2这行连续数据中大于60的最小值,找出“85.7”,我们发现在B2到J2中,”57.4“在”85.7“左边的一个单元格,我们再利用INDEX加,MATCH函数查找”57.4“,公式是这样的:flf检测VBA
=INDEX($B$2:$J$2,MATCH(A7,$B$2:$J$2,0)+1),通过MATCH找到“85.7”的位置,再加上1就是“57.4”的位置。用同样的方法,我们可以找出“33.9”“22.4”“22.7”“7.0”。接下来的工作就是要找出“1”“0.699”“-0.301”“-0.602”“-1.125”.我们发现,这几个都在刚才找出的通过率的同一列的下一行,就可以利用HLOOKUP函数来查找,但在这里直接用HLOOKUP函数是查找不到的,为什么呢,因为HLOOKUP函数要求查找的数据区域首行必须是按升序排列的,而我们的数据是按降序排列的,可能有人会说,我把数据再重新调整一下不就行了,其实完全没有必要,我们可以在HLOOKUP函数中增加一个IF函数来实现反向查找,公式是这样的:flf检测VBA
如图:flf检测VBA
flf检测VBA
flf检测VBA
在C7单元格输入:flf检测VBA
=HLOOKUP(A7,IF({1;0},$B$2:$J$3,$B$2:$J$3),2,0)就可以找到“85.7”对应的“1”了,用同样的方法可以找到“1”“0.699”“-0.301”“-0.602”“-1.125”。找出了通过率分别为60%、30%、10%的相邻筛孔,就能很容易的计算D60、D30、D10,从而计算出曲率系数和不均匀系数。flf检测VBA |