中公司名称也在A2到AN,我们在SHEET2中的B2开始输入SHEET1中的金额数。
我们在SHEET2,B2单元格中输入=vlookup(A2,SHEET1!A:B,2,0),把公式从B2一直拉到你需要的BN就可以了。
注:如果你的SHEET1的名字改了,公式中相应的位置应该相应改变
“PS:可是我SHEET2里单位名称顺序和SHEET1里不一样,导致这个公式取的数在SHEET2里根本没对应起来,张冠李戴了呀”——vlookup命令其实就是让你选择一个你需要被查找的对象(A2),在一个范围内查找(SHEET1!A:B),并将查找到的结果填写到单元格内(2——为SHEET1!A:B中A列,B列中的第二列,即B列的数据填写到该单元格内),这样解释不知道你明白不
函数VLOOKUP(lookup_value,table_array,col_index_num,range_lookup):
Lookup_value
为需要在数组第一列中查找的数值。Lookup_value
可以为数值、引用或文本字符串。
Table_array
为需要在其中查找数据的数据表。可以使用对区域或区域名称的引用,例如数据库或列表。
如果
range_lookup
为
TRUE,则
table_array
的第一列中的数值必须按升序排列:…、-2、-1、0、1、2、…、-Z、FALSE、TRUE;否则,函数
VLOOKUP
不能返回正确的数值。如果
range_lookup
为
FALSE,table_array
不必进行排序。
通过在“数据”菜单中的“排序”中选择“升序”,可将数值按升序排列。
Table_array
的第一列中的数值可以为文本、数字或逻辑值。
文本不区分大小写。
Col_index_num
为
table_array
中待返回的匹配值的列序号。Col_index_num
为
1
时,返回
table_array
第一列中的数值;col_index_num
为
2,返回
table_array
第二列中的数值,以此类推。如果
col_index_num
小于
1,函数
VLOOKUP
返回错误值值
#VALUE!;如果
col_index_num
大于
table_array
的列数,函数
VLOOKUP
返回错误值
#REF!。
Range_lookup
为一逻辑值,指明函数
VLOOKUP
返回时是精确匹配还是近似匹配。如果为
TRUE
或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于
lookup_value
的最大数值;如果
range_value
为
FALSE,函数
VLOOKUP
将返回精确匹配值。如果找不到,则返回错误值
#N/A。
--建立测试表tableA
(type=“书籍”的不足100条),tableB
(type=“书籍”的多于100条)
create
table
tableA(id
int
identity(1,1),type
nvarchar(8))
create
table
tableB(id
int
identity(1,1),type
nvarchar(8))
go
--向表tableA循环插入测试语句
declare
@a
int
set
@a=0
while
(@a<120)
begin
if
@a<20
insert
into
tableA(type)values('报刊')--20本是'报刊'
else
if
@a<40
insert
into
tableA(type)values('光盘')--20本是'光盘'
else
if
@a<60
insert
into
tableA(type)values('漫画')--20本是'漫画'
else
if
@a<80
insert
into
tableA(type)values('书籍')--20本是'书籍'
else
if
@a<100
insert
into
tableA(type)values('其它')--20本是'其它'
else
insert
into
tableA(type)values('杂志')--20本是'杂志'
set
@a=@a+1
end
go
--向表tableB循环插入测试语句
declare
@b
int
set
@b=0
while
(@b<120)
begin
insert
into
tableB(type)values('书籍')--全部是'书籍'
set
@b=@b+1
end
go
--查看表tableA,tableB中的数据
select
*
from
tableA
select
*
from
tableB
/************************查看你要看的的数据************************/
--方法一,用
charindex
函数(当然函数里面的顺序可以根据自己要求改变)
select
top
100
*
from
tableA
order
by
charindex(type,'书籍报刊漫画杂志光盘其它')
--方法二,如果在不想用函数可以同一楼一样用下面的方法
select
top
100
*
from
tableA
order
by
case
when
type='书籍'
then
1
when
type='报刊'
then
2
else
3
end
--tableB表同上
--查看完后删除测试表
drop
table
tableA
drop
table
tableB
数据我已经测试过了,没问题
最后求赏~~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)