当前位置: 首页 » 饲养管理 » 正文

Excel在奶牛线性评分中的应用

  作者: 来源: 日期:2006-03-10  
摘要:在Excel下,利用IF和LOOKUP等主要函数,建立了奶牛线性评定数据处理文档,将线性评定原始数据输入到该文档中,就能获得线性评定所需的信息资料,处理过程简单快速,结果准确。

关键词:奶牛,线性评定,数据处理,IF函数,LOOKUP函数

    线性评分提供了牛群体型、外貌等重要信息,可以真实客观地反映牛群改良和群体外貌状况,因而对奶牛进行体型外貌线性评分,正确评价牛群的遗传改良和生产性能是现代化奶牛场的重要管理手段。线性评分的操作简单,但是工作量巨大,最后取得的数据很多,原始数据要转换成线性分,线性分再进一步转换成功能分十分复杂,因此,数据统计处理成了养牛科技人员的一大麻烦。Excel提供了强大的数据处理能力,我们经过研究,在Excel下实现了将复杂的线性评定数据处理简单化,自动化。本文介绍实现线性评分数据简化处理中的两个常用Excel函数及过程,供读者参考。
1.打开Excel空白文档,用一个自己喜欢的文件名(例如“线性评分数据处理”)存盘。
2.把“book1”更名为“原始数据”用来输入原始数据;“book2”更名为“线性分”用来存放转换后的线性分;“book3”更名为“功能分”用来存放转换后的功能分。
3.在“原始数据”、“线性分”、“功能分”的A1到P1分别输入“牛号”“尻高”“前内裆宽”“体深”“棱角性”“尻角度”“尻宽”“后肢侧视”“蹄角度”“前房附着”“后房高度”“后房宽度”“乳房沟深”“乳房深度”“乳头位置”“乳头长度”。鉴于评定数据可能很多,便于查看数据,建议把第一行冻结。
4.现在要做的是介绍两个我们要用到的两个重要函数;
1)IF函数
    IF 函数用于执行真假值判断后,根据逻辑测试的真假值返回不同的结果,因此If 函数也称之为条件函数。它的应用很广泛,可以使用函数 IF 对数值和公式进行条件检测。
它的语法为IF(logical_test,value_if_true,value_if_false)。其中Logical_test 表示计算结果为 TRUE 或 FALSE 的任意值或表达式。本参数可使用任何比较运算符。value_if_true显示在logical_test 为 TRUE 时返回的值,value_if_true 也可以是其他公式。value_if_false logical_test 为 FALSE 时返回的值。value_if_false 也可以是其他公式。简言之,如果第一个参数logical_test 返回的结果为真的话,则执行第二个参数value_if_true 的结果,否则执行第三个参数value_if_false的结果。IF函数可以嵌套七层,用 value_if_false 及 value_if_true 参数可以构造复杂的检测条件。
    我们就是利用IF函数嵌套来解决原始数据向线性分转化,我们可以在线性分的B2中按照线性分转化规则输入公式“=IF(原始数据!B2<=130,1,IF(原始数据!B2<=150,25+2*(原始数据!B2-140),50))”,该公式的作用在于根据原始数据的范围,给出线性分。用通用的话来讲就是如果原始数据小于130,那么评定结果为1,如果原始数据在130到150之间,评定结果为25+2×(原始数据-140)。其余各列依此类推。公式输入完成以后,选中这一行进行拖拉,其余各行按此规律分别填上相应的线性分。
2)LOOKUP函数
    LOOKUP用于返回向量(单行区域或单列区域)或数组中的数值。
    函数 LOOKUP 有两种语法形式:向量和数组,我们利用的是向量形式。
    函数 LOOKUP 的向量形式是在单行区域或单列区域(向量)中查找数值,然后返回第二个单行区域或单列区域中相同位置的数值。
    其基本语法形式为LOOKUP(lookup_value,lookup_vector,result_vector)
    Lookup_value为函数 LOOKUP 在第一个向量中所要查找的数值。Lookup_value 可以为数字、文本、逻辑值或包含数值的名称或引用。
    Lookup_vector为只包含一行或一列的区域。Lookup_vector 的数值可以为文本、数字或逻辑值。
    需要注意的是Lookup_vector 的数值必须按升序排序:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE;否则,函数 LOOKUP 不能返回正确的结果。文本不区分大小写。Result_vector 只包含一行或一列的区域,其大小必须与 lookup_vector 相同。如果函数 LOOKUP 找不到 lookup_value,则查找 lookup_vector 中小于或等于 lookup_ value 的最大数值。如果 lookup_value 小于 lookup_vector 中的最小值,函数 LOOKUP 返回错误值 #N/A。
    为方便输入公式,我们在“功能分”工作薄AA列第二行开始输入1到50,从AB列到AP列按照前面排列的方式分别输入功能转化分值(排列不能出错!)。
    在B2中输入公式“=LOOKUP(线性评分!B2,$AA$2:$AA$51, $AB$2:$AB$51)”,该公式的功能是,把工作薄“线性评分”中B2的值在“功能分”工作薄AA2到AA51中找出来,把范围AB2到AB51中和它对应的数值返回B2中。其余各列依此类推。
    所有公式输入完毕之后,选择B2到P2,把需要转换的行自动填充。所有结果都显示在B列到P列之间。操作结束。
    为此,我们利用“LOOKUP(从向量或数组中查找一个值)”等函数,并经多次测试,在Excel下建立了简易、快速、准确的线性评定数据的计算模块,只要将评定的数据按要求输入到设定的Excel文档中,每个性状的线性分、功能分、特征性状评分、个体整体评分等多项信息资料将自动生成,大大简化了繁琐的计算工作,只要有电脑的地方,就能进行线性评定信息资料的处理,使该项技术更具实用性,降低了线性评定技术的推广难度。
    另外,作者已经利用VBA把整个过程编成了自动处理程序,所有操作均能实现自动化,复杂的计算,轻松搞顶,如果有兴趣,可以与作者联系。

 
 相关新闻  
管理员信箱:feedchina1@163.com
 

Copyright © 1998-2020 All Rights Reserved 版权所有 《中国饲料》杂志社
Email:feedchina1@163.com