excel多列条件查找

来源:百度知道 编辑:UC知道 时间:2024/09/28 17:37:41
表1是多行多列的原始数据,表2是从表1中查找并填写出个别项目的内容,如下:

表1

学校 班级 学号 科目 分值
一中 三(一) 001 英语 85
五中 二(二) 011 语文 79
五中 二(四) 025 数学 88
三中 三(三) 012 历史 90
二中 一(五) 055 英语 76
三中 四(一) 032 数学 69
……

表2
学校 班级 学号 科目 分值
五中 二(二) 011 语文 ?
二中 一(五) 055 英语 ?
三中 四(一) 032 数学 ?

如何利用公式或者某种方法,使excel利用表1,通过自动计算,得出表2中各个问号空格的内容?内容可能是数值,也可能是文字。

宏代码
建一模块
sub kk()
for i=2 to 65536
if len(ltrim(rtrim(sheets(2).cells(i,1).value)))=0 then exit for
for j=2 to 65536
if len(ltrim(rtrim(sheets(1).cells(j,1).value)))=0 then exit for
if ltrim(rtrim(sheets(2).cells(i,1).value))=ltrim(rtrim(sheets(1).cells(j,1).value)) then
if ltrim(rtrim(sheets(2).cells(i,2).value))=ltrim(rtrim(sheets(1).cells(j,2).value)) then
if ltrim(rtrim(sheets(2).cells(i,3).value))=ltrim(rtrim(sheets(1).cells(j,3).value)) then
sheets(2).cells(i,4).value=sheets(1).cells(j,4).value
end if
end if
end if
next
next
end sub

这需要用到辅助列去帮助就方便很多了,设A1是“学校”,其他分别在B、C、D、E列上,可以在表1的“科目”和“分值”中间插入一列空白列,这空白列就变成“E”列了,在这列上输入:“=A2&&B2&C&D”(不含引号),并将公式向下复制,这样就会在空白列上生成了前面四个内容的合并了。

再在表2的E2输入:
=vlooup(A2&&B2&C&D,表1!E:F,2,0)
并将公式向下复制就行了。

学号是唯一的,
用vlookup 查学号 就好了