作者:乔山办公网日期:
返回目录:excel表格制作
假设你的数据在来A列
C1输入公式
=INDEX(A:A,SMALL(IF(NOT(ISERROR(FIND("王",$A$1:$A$7))),ROW($1:$7),65536),ROW(1:1)))&""
这是数组公式,按ctrl+shift+回车,结束确认自
C1公式向下复制,应该达到你的zhidao要求
其中,这个“王”字可以改成对单元格的引用,达到批量计算的目的
在B2中输入或复制粘贴下列公式
=VLOOKUP("*"&E2&"*",E:F,2,)
下拉填充
现有一方法,测试过了。基本上能通过的,算是能解决你的问题吧。
基本思路是:把前面简化的简称,分解出来,分别在其中加上"*",
然后对其进行模糊查找。
如果下面这个公式,不能完全解决你的问题。
你可以根据你的那些简称与实际的全称的一些规律,
通过这公式,受到启发,把"*"加在更加合适的位置,
编写完全符合你的具体情况的公式。
表二的A列为单位e68a84e8a2ad7a64363,B列为姓名,第一行是标题
表一的A列为单位,要在B列填入姓名,
B2中输入公式
=VLOOKUP(IF(LEN($A2)=1,"*"&$A2&"*",IF(LEN($A2)=2,"*"&LEFT($A2,1)&"*"&MID($A2,2,1)&"*",IF(LEN($A2)=3,"*"&LEFT($A2,1)&"*"&MID($A2,2,1)&"*"&MID($A2,3,1)&"*",IF(LEN($A2)=4,"*"&LEFT($A2,1)&"*"&MID($A2,2,1)&"*"&MID($A2,3,1)&"*"&MID($A2,4,1)&"*",IF(LEN($A2)=5,"*"&LEFT($A2,1)&"*"&MID($A2,2,1)&"*"&MID($A2,3,1)&"*"&MID($A2,4,1)&"*"&MID($A2,5,1)&"*",IF(LEN($A2)=6,"*"&LEFT($A2,1)&"*"&MID($A2,2,1)&"*"&MID($A2,3,1)&"*"&MID($A2,4,1)&"*"&MID($A2,5,1)&"*"&MID($A2,6,1)&"*",$A2)))))),Sheet2!$A:$B,2,0)
在B列中一直往下复制,
在B列中就显示了相应的单位对应的姓名了。
满足条件的内容, 则拉取, 放入指定位置. 这满足条件的内容可能很多.
是这样么?
不介意VBA的话.
可以用VBA的字典和数组组合的方式操作. 因为没有看到实际文档, 没办法给予进一步的解释说明