很 多 人 在 Excel中 用 函 数 公 式 做 查 询 的 时 候 , 都 必 然 会 遇 到 的 一 个 大 问 题 , 那 就 是 一 对 多 的查 找 /查 询 公 式 应 该 怎 么 写
大 多 数 人 都 是 从 VLOOKUP、INDEX+MATCH中 入门的 , 纵然 你把全部的 多 条件查 找 方法都 学会 了而且运用 娴熟, 如 VLOOKUP和&、SUMPRODUCT、LOOKUP(1,0/
, 但仍然 只能对 这种一 对 多 的 查 询 望洋兴叹
这里讲的 INDEX+SMALL+IF+ROW 的 函 数 组合, 就 是 解决一 对 多 查 询 的 一 种通式 , 如果你能掌握, 那 在 Excel里基本上就 没有什么 查 询 你是 实现不了的 了(除了 INDIRECT+RC引用 )
下面, 我们先来看看示例数 据和查 询 要求: 由 于 VLOOKUP、INDEX+MATCH、LOOKUP(1,0/都只是一对一的查询,有的是只查询第一个,有的是只查找最后一个,所以这种组合对于 我们这里的要求完全无用武之地
所以,你也别把精力都花在这个上面,虽然也是可以构造出来的,但今天我们要讲的这个组合,是最基本,也是最容易理解的通式,所以请把精力花在这上面
问题 1,解答: =IF(ROW(A1)>COUNTIF($B:$B,"Sam"),"",INDEX(A:A,SMALL(IF($B$2:$B$20="Sam",ROW($2:$20)),ROW(A1)))) [公式一] =IFERROR(INDEX(A:A,SMALL(IF($B$2:$B$20="Sam",ROW($2:$20)),ROW(A1))),"") [公式二] =INDEX(A:A,SMALL(IF($B$2:$B$20="Sam",ROW($2:$20),4^8),ROW