ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 小菜鸟欢欢

D列输入A列 包含B的任何一个关键词 且 不包C的任何一个词)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-7-11 12:39 | 显示全部楼层
辅助列方法,供参考
辅助列 E2=IF(SUMPRODUCT((ISNUMBER(SEARCH("*"&$B$2:$B$8&"*",A2)))*(IFERROR(SEARCH("*"&$C$2:$C$7&"*",A2),1=1)))*1=0,"/",ROW())    下拉复制
D2=INDEX(A:A,SMALL(E:E,ROW(A1)))

TA的精华主题

TA的得分主题

发表于 2018-7-11 12:45 | 显示全部楼层
數組公式:
=INDEX(A:A,SMALL(IF(MMULT(ISNUMBER(0/(FIND(TRANSPOSE(B$2:B$45),1&A$2:A$500)>1))-4^8*ISNUMBER(0/(FIND(TRANSPOSE(C$2:C$45),1&A$2:A$500)>1)),ROW(2:45)^0)>0,ROW($2:$500),4^8),ROW(A1)))&""

卡檔免不了~~

TA的精华主题

TA的得分主题

发表于 2018-7-11 12:59 | 显示全部楼层
我也试了一下,E2数组公式,下拉:
  1. =INDEX(A:A,SMALL(IF((--MMULT(--NOT(ISNUMBER(FIND(TRANSPOSE($C$2:$C$7),$A$2:$A$499))),--(C2:C7=C2:C7))=6)*(--MMULT(--(ISNUMBER(FIND(TRANSPOSE($B$2:$B$8),$A$2:$A$499))),--(B2:B8=B2:B8))>0),ROW($A$2:$A$499)),ROW(A1)))
复制代码

TA的精华主题

TA的得分主题

发表于 2018-7-12 16:12 | 显示全部楼层

=IF(MIN(IF(ISERROR(FIND({"家居","礼物","工艺品","礼品","摆设","摆件"},A6)),"50",FIND({"家居","礼物","工艺品","礼品","摆设","摆件"},A6)))>=1,IF(MIN(IF(ISERROR(FIND({"流水","沙漏","貔貅","永动","旗舰店","悬浮"},A6)),"50",FIND({"流水","沙漏","貔貅","永动","旗舰店","悬浮"},A6)))=0,A6,""),"")

是不是如果含有B列任何一个并且不含C列任何一个就返还A列的内容?
如果B列和A列受限制的汉字不多,用这个方法可以解决你需要,

TA的精华主题

TA的得分主题

发表于 2018-7-12 18:42 | 显示全部楼层
shwangfeng 发表于 2018-7-11 12:59
我也试了一下,E2数组公式,下拉:

应该像准提部林 老师一样 应该侧重在除外条件上 避免在一个单元格内有两种条件存在的可能 所以这样才完美
  1. =INDEX(A:A,SMALL(IF((MMULT(--(ISNUMBER(FIND(TRANSPOSE($B$2:$B$8),$A$2:$A$499))),--(B2:B8=B2:B8))-4^8*MMULT(--(ISNUMBER(FIND(TRANSPOSE($C$2:$C$7),$A$2:$A$499))),--(C2:C7=C2:C7)))>0,ROW($A$2:$A$499)),ROW(A1)))
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-7-12 18:49 | 显示全部楼层
这样的我有一段通用型VBA代码 并且是交互式的 数据区 条件在什么位置 或者有没有空单元格 都行
  1. Sub 包含与排除条件取值()
  2.     Dim arr, sd, i&, gjz, brr(), k, rng As Range, rng1 As Range, xx
  3.     On Error Resume Next
  4.     Set dic = CreateObject("scripting.dictionary")
  5.     Set yssjq = Application.InputBox(prompt:="请选择:原始数据区域", Type:=8)
  6.     Set sjq = Application.InputBox(prompt:="请选择:要包含条件的区域", Type:=8)
  7.     Set pcsjq = Application.InputBox(prompt:="请选择:要除外的条件区域", Type:=8)
  8.     Set jgq = Application.InputBox(prompt:="请选择:结果摆放起始单元格", Type:=8)
  9.     arr = yssjq
  10.     For Each rng In sjq
  11.         If rng = "" Then GoTo 5
  12.         zf = rng.Value
  13.         For i = 1 To UBound(arr)
  14.             If arr(i, 1) Like "*" & zf & "*" Then
  15.                 k = k + 1
  16.                 ReDim Preserve brr(1 To k)
  17.                 brr(k) = arr(i, 1)
  18.             End If
  19. 5:
  20.         Next
  21.     Next rng
  22.     k = 0
  23.     For Each rng1 In pcsjq
  24.         If rng1 = "" Then GoTo 10
  25.         pczf = rng1.Value
  26.         For i = 1 To UBound(brr)
  27.             If InStr(brr(i), pczf) > 0 Then
  28.                 k = k + 1
  29.                 brr(i) = ""
  30.             End If
  31. 10:
  32.         Next
  33.     Next rng1
  34.     For ia = 1 To UBound(arr)
  35.         For i = 1 To UBound(brr)
  36.             If brr(i) <> "" And arr(ia, 1) = brr(i) Then
  37.                 dic.Add arr(ia, 1), ""
  38.             End If
  39.         Next
  40.     Next
  41.     For Each xx In dic
  42.     If xx = "" Then GoTo 20
  43.         kk = kk + 1
  44.         jgq(kk, 1) = xx
  45. 20:
  46.     Next
  47. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2018-7-12 18:54 | 显示全部楼层
有没有排除条件也行 没有排除条件 就在出现排除条件对话框是选一个空单元格就行 非常方便 且快捷 结果摆放位置由你自己决定

TA的精华主题

TA的得分主题

发表于 2018-7-12 18:54 | 显示全部楼层
cjc209 发表于 2018-7-12 18:42
应该像准提部林 老师一样 应该侧重在除外条件上 避免在一个单元格内有两种条件存在的可能 所以这样才完美

谢谢指点,我还没有仔细试过准提大佬那个解法,当初以为思路差不多就没有细看……
我会抽空再核对的!感谢你的耐心指正!今天没有鲜花了,明天补上!

TA的精华主题

TA的得分主题

发表于 2018-7-12 18:57 | 显示全部楼层
shwangfeng 发表于 2018-7-12 18:54
谢谢指点,我还没有仔细试过准提大佬那个解法,当初以为思路差不多就没有细看……
我会抽空再核对的!感 ...

它的-468*就是这个目的 不愧为见多识广

TA的精华主题

TA的得分主题

发表于 2018-7-12 18:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
并且是去了重复的
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-20 17:39 , Processed in 0.044492 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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