execl中引用与某一列或行中特定值在同一行或同一列的其他单元格
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
execl中引用与某一列或行中特定值在同一行或同一列的其他单元格
在e xecl中,我们常会遇到这样的场景
有很多列的源数据,A列中单元格值均来源于其中一列,例C列,
B列中单元格数值(B1)则等于与符合某种条件的(本例中条件为C列中该单元格数值与A1相等)C列中某个单元格同一行的D列单元格值,
例如A1=C5时,B1=D5;A1=C7时,B1=D7;A2=C5时,B2=D5;A2=C7
时,B2=D7;以此类推,
该怎么办呢?百度了好久,都说用Vlo okup来查找,鼓捣半天没成功,最好还是自己研究搞定,其实说穿了很简单,方法如下
场景:
A1单元格,B1单元格,C1至C20单元格,D1至D20单元格
A1数据来源于C1-C20,现要求B1返回与符合某种条件(本例中条件为C列中该单元格数值与A1相等)的C列单元格同一行的D列单元格
思路:
先用m atch函数返回A1在C1-C20间的行号,即match(A1,C1:C20,)
再用inde x函数获取指定行、列号单元格的数值,
即i ndex(D1:D20,mat ch(A1,C1:C20),)
即最终结果是A1单元格设置数据有效性>序列>来源于C1:C20,B1单元格填
入=index(D1:D20,ma tch(A1,C1:C20),)
同理,可求得某一行中特定值的列号,再根据列号取得对应单元格值
match(look up_va le,lo okup_array,[mat ch_ty pe]),返回值为行号或者列号
参数详解:
looku p_val e为要在l ookup_arra y内查找的值,可以是数值、文本或者逻辑值,或者对这些值得引用
loo kup_a rray为搜索范围,即某个数组常量或者某一列、某一行,不能是某个区域
matc h_typ e为匹配方式,取值为 -1,0,1,意义未知,一般不填即可)
in dex(a rray,row_n um,co lumn_num),返回指定位置的单元格数值
a rray为某个区域,或者数组常量,当ar ray为数组常量或者某一列、某一行时,只需要指定行号或者列号其中一个参数即可,只有当arr ay为某一区域时才需要同时指定行号和列号
row_num为行号
col umn_n um为列号
以上提及的数组常量,在函数中格式为
{数值1,数值2,数值3,数值4,……}
。