Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1544|回复: 4

[已解决]多条件查找引用问题

[复制链接]
发表于 2016-5-12 10:45 | 显示全部楼层 |阅读模式
请大侠们帮我写下公式或代码,感激不尽
多条件查找引用问题.rar (15.16 KB, 下载次数: 19)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2016-5-12 15:54 | 显示全部楼层
回复

使用道具 举报

发表于 2016-5-13 06:08 | 显示全部楼层
源数据稍微修改一下行标题格式,自己用高级筛选就轻松搞定了

多条件查找引用问题.zip

15.78 KB, 下载次数: 5

回复

使用道具 举报

发表于 2016-5-13 07:36 | 显示全部楼层
学习一下!
回复

使用道具 举报

发表于 2016-5-13 11:12 | 显示全部楼层    本楼为最佳答案   
条件2只要判断>=,要简单很多。
  1. Sub 筛选()
  2.     Dim ok3 As Boolean
  3.     km = [c4] & [d4]  '科目
  4.     c = IIf(km = "上学期语文", 4, IIf(km = "上学期数学", 5, IIf(km = "下学期语文", 6, 7)))
  5.     tj1 = [b4]: tj2 = [e4]: tj3 = [f4]
  6.     c1 = IIf(tj3 = "上学期", 8, 9)
  7.     arr = Sheet1.[a1].CurrentRegion
  8.     ReDim brr(1 To UBound(arr), 1 To 3)
  9.     For i = 3 To UBound(arr)
  10.         ok3 = False
  11.         If tj1 = "" Or arr(i, 3) Like "*" & tj1 & "*" Then     '条件1满足
  12.             If tj2 = "" Or arr(i, c) >= tj2 Then  '条件2满足
  13.                 If tj3 = "" Then
  14.                     If arr(i, 8) = "三好学生" And arr(i, 9) = "三好学生" Then ok3 = True
  15.                 Else
  16.                     If arr(i, c1) = "三好学生" Then ok3 = True
  17.                 End If
  18.                 If ok3 Then
  19.                     n = n + 1
  20.                     brr(n, 1) = arr(i, 3)
  21.                     brr(n, 2) = arr(i, c)
  22.                     brr(n, 3) = "三好学生"
  23.                 End If
  24.             End If
  25.         End If
  26.     Next
  27.     [b8:d1000] = ""
  28.     If n = 0 Then
  29.         MsgBox "查无此信息"
  30.     Else
  31.         [b8].Resize(n, 3) = brr
  32.     End If
  33. End Sub
复制代码

多条件查找引用问题.rar

26.95 KB, 下载次数: 4

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 12:47 , Processed in 0.501769 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表