如图的两列数值 ,从A列中查询,查找与B列数值进行对比,如果同时符合以下两个条件1、Z前面的字符相同2,Z后面的数值A>B,那么在B后面把符合条件的所有A中的字符标记在C列中 请问如何设置函数B列中每一个单元格都要对整个A列进行搜索,只要存在符合条件的,那么标记出来(B中每一个单元格,对应查询区域是整个A列)
最终运算出来的效果图,像C列所示
两种作法:
1、对B列进行颜色标记,
2、在C列出满足条件的行。
方法1:先把公式复制 =IF((LEFT(A2,12)=LEFT(B2,12))*(RIGHT(A2,1)<RIGHT(B2,1)),1,0),在条件格式中----新建条件规则----使用公式...粘贴,格式---填充---选择一个颜色,确定--应用。然后用格式刷将B2的格式双击,复制到B3以下的单元格。
方法2:在C列直接输入公式=IF((LEFT(A2,12)=LEFT(B2,12))*(RIGHT(A2,1)<RIGHT(B2,1)),1,0), 下拉,就OK。
追问我的表述可能不够清楚,这个实现的是同一行之间的数值对比,我的意思是B列中每一个单元格都要对整个A列进行搜索,只要存在符合条件的,那么标记出来(B中每一个单元格,对应查询区域是整个A列)
C2输入
=IF(COUNTIF($B$2:$B$3,A2),A2,"")
下拉
不知是不是你说的意思
追问我的意思是B列中每一个单元格都要对整个A列进行搜索,只要存在符合条件的,那么标记出来(B中每一个单元格,对应查询区域是整个A列)标记的目的是说明在A中存在,比B的末位数值大的字符串
追答你说一下结果是什么,才知道你的意图,不然都是猜测,给个效果表图
追问C2输入
=INDEX($A:$A,SMALL(IF((LEFT($A$2:$A$17,13)=LEFT($B2,13))*(--MID($A$2:$A$17,14,9)>--MID($B2,14,9)),ROW($2:$17),4^8),COLUMN(A1)))&""
数组公式,先按住CTRL+SHIFT,最后回车,使得编辑栏公式两端出现花括号{ }
公式下拉再右拉到无数据
高手在追问一个问题,为什么小范围测试正确,但是 大规模应用后 我把公式调整结果运算错误呢 一直找不到问题所在
这个公式是有范围的,如果范围扩大,要更改公式中区域范围,但是范围必须是数据的有效范围,不能扩大,你看看是不是这个原因
本回答被提问者采纳稍微有点偏差 ,我要做到的 只要A列中存在符合条件的B列的字符 那么在C列中标记出来
按照这个标准的话 目前B列的两个字符 在A列中都可以找打符合条件的值
B列中每一个单元格都要对整个A列进行搜索,只要存在符合条件的,那么标记出来(B中每一个单元格,对应查询区域是整个A列)
执行这个代码
Sub aa()文字可能实在是表达不清 这样图示是不是可以表述更加直观些
用代码运行,然后将数据合并到1个单元格