index+small+row+if经典函数组合应用

EXCEL中index+small+row+if 函数组合可以查出满足同一条件的所有记录,通过实例讲解:

本文为原创,转载需标明出处,谢谢!

例:查找出一年级的所有班级及人数:

A B  C D
1 年级 班级 人数
2 一年级 二班 36
3 一年级 三班 38
4 二年级 一班 39
5 一年级 一班 41
6 二年级 三班 38
7 三年级 一班 42
8 三年级 三班 37
9 一年级 四班 40

第一步:IF($B$2:$B$9="一年级",ROW($2:$9),10^10):如果B2-B9中有单元格内容为一年级,则返回它所在的行数(2,3,5,9),否则为10*10(这里主要是往大的数的方向取值,后面讲到SMALL时就会明白);

第二步:SMALL(IF($A$2:$A$9=$D$2,ROW($2:$9),10^10),ROW(1:1)):small函数的功能是返回第k最小值,samll((2,3,5,9),row(1:1)),row(1:1)作用为选取第K小值;

第三步:INDEX(A:A,SMALL(IF($A$2:$A$9=$D$2,ROW($2:$9),10^10),ROW(1:1))):index函数取出符合条件的结果,通过shif+ctrl+enter确认

年级 班级 人数
一年级 二班 36
一年级 三班 38
一年级 一班 41
一年级 四班 40
时间: 2024-12-15 15:06:47

index+small+row+if经典函数组合应用的相关文章

函数组合的 N 种模式

随着以函数即服务(Function as a Service)为代表的无服务器计算(Serverless)的广泛使用,很多用户遇到了涉及多个函数的场景,需要组合多个函数来共同完成一个业务目标,这正是微服务"分而治之,合而用之"的精髓所在.本文以阿里云函数计算为例,试图全面介绍函数组合的常见模式和使用场景,希望有助于选择合适的解决方案. 虽然本文主要介绍的是函数组合,但是基本思想也可用于服务组合. 函数同步调用函数 在这种模式里,函数直接调用 InvokeFunction 同步 API

Scalaz(14)- Monad:函数组合-Kleisli to Reader

Monad Reader就是一种函数的组合.在scalaz里函数(function)本身就是Monad,自然也就是Functor和applicative.我们可以用Monadic方法进行函数组合: 1 import scalaz._ 2 import Scalaz._ 3 object decompose { 4 //两个测试函数 5 val f = (_: Int) + 3 //> f : Int => Int = <function1> 6 val g = (_: Int) *

F# 可以把几个函数组合成新函数

C#能做的,F#基本都能做,但F#能做的,C#未必能做. F#中的函数可以把几个函数组合起来使用.下面的例子是把由 function1 和 function2 这两个函数通过运算符“>>”(或“<<”)组合而成funuoction3,然后可以拿function3使用. let function1 x = x + 1 let function2 x = x * 2 let function3 = function1 >> function2 let result5 = f

6.5.2 C# 中的函数组合

C# 中的函数组合是可能的,但使用非常有限,这是部分是由于在 C# 中散应用不能很容易使用,但更重要的是,因为大多数操作是用成员来写的,而不是函数.但我们至少可以用 C# 演示同样的想法,清单 6.18 显示了 Compose 方法的实现,以及使用的示例. 清单 6.18实现并使用 Compose 方法 (C#) static Func<A, C> Compose<A, B,C>(this Func<A, B> f, Func<B, C> g) { retu

6.5.1 函数组合

处理函数最重要的操作,就是组合.先看一个示例是非常有用的,这个示例用元组保存(城市的)名字和人口.在清单 6.16 中,我们创建一个函数,根据人口的规模,确定是城市.镇,还是村:同时用保存在列表中的几个地方测试确定状态. 清单 6.16 处理城市信息 (F# Interactive) > let places = [("Grantchester", 552);    <-创建测试数据列表 ("Cambridge", 117900); ("Pra

[Java 8] (10) 使用Lambda完成函数组合,Map-Reduce以及并行化

Java 8中同时存在面向对象编程(OOP)和函数式编程(FP, Functional Programming)这两种编程范式.实际上,这两种范式并不矛盾,只是着重点不同.在OOP中,着重于通过丰富的类型系统对需要解决的问题进行建模:而FP中则着重于通过高阶函数和Lambda表达式来完成计算.所以我们完全可以将这两者融合在一起,对问题提出更加优雅的解决方案. 在这篇文章中,会介绍如何通过函数组合(Function Composition)来将若干个函数单元组合成一个Map-Reduce模式的应用

JS函数式编程【译】4.2 函数组合

?? Functional Programming in Javascript 主目录第四章 在Javascript中实现函数式编程的技术 函数组合 终于,我们到了函数组合. 在函数式编程中,我们希望一切都是函数,尤其希望是一元函数,如果可能的话.如果可以把所有的函数转换为一元函数, 将发生神奇的事情. 一元函数是只接受单个输入的函数.函数如果有多个输入就是多元的,不过我们一般把接受两个输入的叫二元函数, 把接受三个输入的叫三元函数. 有的函数接受的输入的数量并不确定,我们称它为可变的. 操作函

scala进阶:函数组合器(combinator)

collection基础参见之前的博文scala快速学习(二). 本文主要是组合器(combinator),因为在实际中发现很有用.主要参考:http://www.importnew.com/3673.html List(1,2,3) map squared会在列表的每个元素上分别应用squared函数,并且返回一个新的列表,可能是List(1,4,9).我们把类似于map这样的操作称为组合器. 特点:组合器的参数都是一个函数,这个函数的输入输出都是列表元素.最常见的方式是匿名函数用=>定义,左

函数组合子

List(1, 2, 3) map squared对列表中的每一个元素都应用了squared平方函数,并返回一个新的列表List(1, 4, 9).我们称这个操作map 组合子. 他们常被用在标准的数据结构上. map: map对列表中的每个元素应用一个函数,返回应用后的元素所组成的列表. scala> numbers.map((i: Int) => i * 2) res0: List[Int] = List(2, 4, 6, 8) 或传入一个部分应用函数 scala> def time