oracle not like查询多个条件_查询符合条件的多个记录,其实很简单

50720ecba36d375c2f4cdb3ea1c28f0e.png

小伙伴们好啊,今天老祝和大家说说一对多查询的问题。就是当一个查询值对应多条记录时,如何才能把这些记录全部提取出来呢?

如下图所示,是多个部门的员工信息。

e1d8653efc4ef6d0eec0316998312b60.png

现在,咱们要按部门提取出对应的姓名。

d2fcdbc956b0dd20bbcb5ac61e5b0fd4.png

要实现这样的效果,只需要三步:

第一步

插入辅助列(看着不爽可隐藏)

单击A列的列标,然后右键→插入,插入一个空白列。

第二步

在A2单元格输入公式,向下复制。

=B2&COUNTIF($B$1:B2,B2)

a156fad8fc301103bbefb9b021844f86.png

COUNTIF函数第一参数使用动态扩展的范围$B$1:B2,当公式向下复制时,会依次变成$B$1:B3、$B$1:B4……,也就是自B1单元格开始到公式所在行这个范围内,统计B列部门出现的次数。

再使用&符号,将B列的部门与出现的次数连接,就是相当于给部门加上唯一的标记了。

第三步

在H2单元格中输入公式:

=IFERROR(VLOOKUP($G2&COLUMN(A1),$A:$E,3,0),"")

08fa77a1b4d038a4885cd6f8de79c26a.png

接下来,咱们说说公式的运算过程:

1、COLUMN(A1)部分,返回A1的列号1。当公式向右复制时,参数A1会变成B1、C1……,COLUMN函数的结果就是1、2、3、……

2、用$G2&COLUMN(A1)作为VLOOKUP函数的查询值,相当于给G2的部门加上了序号信息,公式在H2单元格中查询的是“安监部1”,在I2单元格中,查询的就是“安监部2”,在J2单元格中,查询的就是“安监部3”了。

3、VLOOKUP函数使用带序号的部门作为查询值,与刚刚在A列使用公式得到的辅助信息相对应,最终在$A:$E这个整列引用的范围中,返回第3列的姓名信息。

4、当VLOOKUP函数查找不到对应的内容时,会返回错误值,所以咱们再使用IFERROR函数进行除错,如果VLOOKUP函数找不到姓名了,就让他返回一个空文本。

最后祝各位小伙伴:天天快乐,如意康宁。白天精神,晚上文明

c3075e6904137173e64cb0447358c89f.png

图文制作:祝洪忠

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值