一.应用实例:

1.要求:通过G2单元格的下拉菜单选择不同的班级,在右侧单元格区域可以查找出对应班级所有的学生的姓名和对应的成绩。(返回查找结果区域的表头可以与原表头区域不对应)

2.话不多少,先给朋友们上照效果图看看是不是你们想要的操作。

二.操作步骤:

1.在H2单元格输入公式

=INDEX(INDIRECT(CHAR(64+MATCH(H$1,$A$1:$E$1,0)) & ":"& CHAR(64+MATCH(H$1,$A$1:$E$1,0))),SMALL(IF($A$2:$A$9=$G$2,ROW($A$2:$A$9),10000),ROW(C1)))&""

2.公式解析:

(1)CHAR(64+MATCH(H$1,$A$1:$E$1,0))返回要查找字段在原始表头的列的位置用大写字母ABC…表示,例如查找数学时返回大写字母D。

(2)用 & ":"&链接(1)所讲公式返回对一列的引用。例如(1)结果返回为D时,返回D:D。

(3)如果直接把(2)的结果作为对列的引用或返回错误,利用Indirect函数可以正确的返回列的引用。经过这三步上述部分公式等价于直接对一列的引用。

(4)IF($A$2:$A$9=$G$2,ROW($A$2:$A$9),10000)判断每一个要班级是否等于要查找的内容,如果等于返回这个数据所在单元格的行号,如果不等于返回一个比较大的数值(在这里设置为10000,只要保证这行没有数据即可)。这样构成了一个行号和这个比较大的数值所构成的数组。

(5)利用small(步骤4构成的数组,row(A1)),分别提取第一、二、三小的数值。Row(A1)向下拖动时返回一个1、2、 3的数字序列,最终构成的是查找区域等于查找值的行和较大值10000构成的数组。

(6)利用Index函数提取(3)对列的引用,(5)所返回行构成的数组所对应的值。

(7)公式最后 &””,是因为10000行的内容是空白,公式会返回数字0。&””可以避免0的出现。

三.注意事项:

1.在这里一定要注意单元格的引用方式。

2.这是一个函数比较多的综合应用。

3.数组公式输入时要以Ctrl+Shift+Enter结束。

small用于不连续数组_用Small、If、Index、Indirect、Row、Char、Match实现一对多查找...相关推荐

  1. small用于不连续数组_太神奇了,large和small这两个最值函数居然可以这样使用!...

    在财务工作中,large函数和small函数使用不是很多,财务人员比较陌生.但在某些情境,这两个函数其实可以发挥出意想不到的神奇作用. 一. 函数的类别 Large函数和small函数均属于excel ...

  2. small用于不连续数组_shell 编程进阶与自动化脚本expect的运用

    一.SHELL语句流程控制 1.过程式编程语言的流程控制 顺序执行 选择执行 循环执行 2.顺序执行 顺序执行则是最简单的流程,按照输入指令的顺序逐条执行 3.选择执行 就是根据一些判断的语句,选择性 ...

  3. small用于不连续数组_Excel公式技巧19: 在方形区域内填充不重复的随机整数

    学习Excel技术,关注微信公众号: excelperfect 本文分享一个基于公式生成n×n随机整数的解决方案,并且每个整数都是唯一的.例如,下图1显示了生成10行10列的不重复随机整数. 图1 解 ...

  4. [JS]请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。

    请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组. 刚开始复习js题还不太习惯 CSDN上看了一个帖子,说是牛客上的标答, ...

  5. java字符串拆分成数组_用Java实现JVM第八章《数组和字符串》

    小傅哥 | https://bugstack.cn 沉淀.分享.成长,专注于原创专题案例,以最易学习编程的方式分享知识,让自己和他人都能有所收获.目前已完成的专题有:Netty4.x实战专题案例.用J ...

  6. arraylist转int数组_五千字的数组拓展,面试官对我竖起大拇指喊停

    目录 为什么数组下标从0开始? 数组定义 为什么这么下定义? 定义数组的三种方式 从 ArrayList 源码看数组增删改查 初始化 增加 删除 修改 查找 数组和容器 数组时间复杂度 数组插入,删除 ...

  7. 无法创建t的通用数组_创建通用数组的问题

    无法创建t的通用数组 在这篇文章中,我们将介绍一篇全面的文章,其中介绍了创建通用数组的问题. Java编程语言于2004年9月在Java 5.0" Tiger"发行版中添加了泛型. ...

  8. go 声明二维数组_一篇文章了解Go语言中数组Arrays的使用内幕

    概述 与其他编程语言类似,Go语言也有数组array.Go语言中,数组的行为和其他语言没有什么不同.Go语言中还有一个叫做切片slice的东西,它就像是对数组的引用.在本文中,我们将只研究数组. 定义 ...

  9. arrays中copyof复制两个数组_数据结构与算法(3)数组

    前言 数组(Array)是一种线性表数据结构,利用一组连续的内存空间,存储一组具有相同类型的数据. 概念介绍 首先我们说一下什么是线性表,线性表就是数据排成一条线的数据结构,每个线性表最多只有前和后两 ...

最新文章

  1. 简述ospf的工作原理_物联网水表工作原理简述
  2. 小学生python入门-周边 | 小学生都开始学Python了,你还在等什么?
  3. docker pip 换源_Docker 部署 jupyterlab 3.0.3
  4. 论赵泽彬多终端应⽤下的架构设计
  5. idea 导入template_如何将静态导入添加到IntelliJ IDEA实时模板
  6. # 国王游戏(贪心+大数乘除+微扰法证明)
  7. 系统测试主要测试类型
  8. VTK读取rawdata
  9. 如何使用Highscore进行XRD物相分析?
  10. Daemontools和Supervisor管理linux常驻进程
  11. Linux图形终端与字符终端
  12. 162天,从华为外包5k转岗正式员工15k,心酸只有自己知道
  13. 链表 java 实现
  14. java计算机毕业设计吉他库存管理源码+mysql数据库+系统+lw文档+部署
  15. 导致香港服务器运行不稳定的因素有哪些?
  16. 6.7 【实例】窗口查看器
  17. 戴维·萨尔诺夫,霍华德·阿姆斯特朗以及超外差无线接收机
  18. 30岁之前一定要知道的7个金融概念-千氪
  19. WPF 控件 (二、按钮)
  20. c#通联支付demo_通联支付接口示例源码(.net/php/java)

热门文章

  1. CVPR2021(Oral) 商汤、港中文实现单目人脸重建新突破: 基于生成网络的渲染器!几何形状更精准!渲染效果更真实!
  2. 编译出错libicui18n.so.58: undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8‘
  3. python top k问题
  4. opencv转pytorch
  5. pytorch permute维度转换
  6. 特征值与特征向量的意义
  7. python 图像二值化
  8. linux查看cpu 内存
  9. 'htons' was not declared in this scope 解决
  10. c 语言字符串转二进制,在C ++中将字符串转换为二进制序列