EXCEL中两表之间的数据对应查询

来源:百度知道 编辑:UC知道 时间:2024/05/25 11:16:03
A表:
A B
1 !彩票投注站东坑 0
2 !京九城电子 0
3 !顶好家私星期一 开始上班
4 沐足八达路星期二 0
5 !汽车石谷 0
6 !汽车配件石谷 0
7 沐足八达星期天 0
8 !一汽星期五 0
9 !汽车星期四 0

B表:
A B
1 星期一 开始上班
2 星期二 上班第二天
3 星期三 上了一半
4 星期四 还有两天
5 星期五 还有一天
6 星期六 放假一天
7 星期日 放假二天

现在要在A表中的B处填写数据,规则如下:如果A表中的A列中包含有B表中A列中的某一数据时,即得到结果为B表中的B列中对应的值.
例如:A表中A3包含有"星期一"这个关键字,刚那么B3的值应为B表中B1的值,即B表中的数据可以看成是一个键值对,在A表中查找是否
含有某一个键,从而得到它的值.

=IF(ISERROR(FIND("星期",A1)),"",INDEX(B表!$B$1:$B$8,MATCH(MID(A1,FIND("星期",A1),3),B表!$A$1:$A$8,),1))
在A表的B1中输入上面的公式
------------------
B表!$B$1:$B$8是你B表
....B....
开始上班
上班第二天
上了一半
还有两天
还有一天
放假一天
放假二天 ”

B表!$A$1:$A$8是你A表的
.....A..
1 星期一
2 星期二
3 星期三
4 星期四
5 星期五
6 星期六
7 星期日

B表!$A$1:$A$8和B表!$B$1:$B$8这两个区域你有多在就换成多大的区域

然后是向下拉即可

直接查找有难度,这样解决:
A表,先在C1输入公式
=IF(ISERROR(FIND("星期",A1)),"",MID(A1,FIND("星期",A1),3))

后在B1输入公式 =IF(C1="","",VLOOKUP(C1,B表!A:B,2,0))

将B1 C1的公式向下复制,就完成你的查询任务了

最后提醒一下:星期天和星期日,在两表中要统一,要么都写星期天,要么都写星期日(这是我验证我的公式时,发现的)

假设你B表的数据在A1:B7
在A表的B1中输入下面公式,以CTRL+SHIFT+ENTER确认公式.

=IF(MAX(IF(ISERROR(FIND(B!$A$1:$A$7,A1)),"",ROW(B!$A$1:$A$7)))=0,"",OFFSET(B!$A$1,MAX(IF(ISERROR(FIND(B!$A$1