前军教程网

中小站长与DIV+CSS网页布局开发技术人员的首选CSS学习平台

Excel的INDEX和MATCH函数的组合使用常见一例

本文主要是练习index、match的使用。

INDEX(array, row_num, [column_num])函数介绍

它可以返回表格或数组中的某个特定单元格的值。这个函数特别适用于需要从数据集中检索特定位置数据的情况。

  • array:这个参数是你希望从中获取数据的整个数组或范围。这可以是工作表上的一个区域,也可以是某个数组常量。
  • row_num:这是你想要返回的值所在的行号。如果array参数包含了多个行,则需要通过row_num来指定是哪一行的数据。
  • column_num:这是你想要返回的值所在的列号。如果array参数包含了多列,则需要通过column_num来指定是哪一列的数据。如果array只包含一列,则不需要这个参数。

MATCH(lookup_value, lookup_array, [match_type])函数介绍

MATCH函数用于在一行或一列的数组中搜索指定的项,然后返回该项在此数组中的相对位置。它不像LOOKUP函数那样返回值,而是返回匹配项的位置。

  • lookup_value:可以是文本、数字或逻辑值,也可以是这些类型的单元格引用。
  • lookup_array:可以是单行或单列的范围,或者是数组常量。
  • match_type:决定函数如何匹配lookup_value与lookup_array中的元素。如果lookup_value是文本,它最多可以包含255个字符。
    • 如果为1,函数会在lookup_array中查找小于或等于lookup_value的最大值。Lookup_array中的值必须按升序排列。
    • 如果为0,函数会在lookup_array中查找等于lookup_value的第一个值。Lookup_array可以无序。
    • 如果为-1,函数会在lookup_array中查找大于或等于lookup_value的最小值。Lookup_array中的值必须按降序排列。
    • 如果省略match_type,默认值为1。

案例练习

假设excel数据表有A、B、C三列,现在需要根据A匹配查询,返回对应的B或C列的数据,B、C同一行不会同时都有数据。

以下是仅使用INDEX+MATCH的极简公式:

=INDEX(B:B,MATCH(D2,A:A,0))&INDEX(C:C,MATCH(D2,A:A,0))

原理说明:

  1. 文本连接特性:& 符号会自动忽略空单元格
  2. 当B列有数据时:B值 & 空 = B值
  3. 当C列有数据时:空 & C值 = C值

适用场景:

  • 数据为文本类型
  • 需要兼容所有Excel版本
  • 接受空值显示为0时可用+代替&
=INDEX(B:B,MATCH(D2,A:A,0))+INDEX(C:C,MATCH(D2,A:A,0))

示例演示:

A列(水果)

B列(库存)

C列(销量)

苹果

100


香蕉


200

当查询苹果时: INDEX(B列找到100) & INDEX(C列找到空) → 100 当查询香蕉时: INDEX(B列找到空) & INDEX(C列找到200) → 200

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言