锅炉能效测试查询网:excel如何筛选到单独列?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 16:04:50
数据
a b
2006-04-01 200
2006-04-02 300
2006-04-03 400
2006-04-04 500
2006-04-05 600
2006-04-06 700
2006-04-07 800

在D列输入日期段4日-5日
自动在E列,列出筛选出数据

1:用公式:如果你的数据是1对1的,则可将日期范围分别写在两个单元格内,如D1=4,D2=7,则做法为,在E1列可如下公式:if($d$1+row()-1>$d$2,"",vlookup(date(year(now()),month(now()),day($d$1+row()-1)),$A$1:$B$7,2,))
E列的每个单元格公式均相同
2:
用VBA,循环加判断 假设sheet名字为sheet1
sub gg()
dim i as interger
dim j as interger
dim k as interger
dim strat as string
dim end as string
start=sheets("sheet1").cells(1,4)
end=sheets("sheet1").cells(2,4)
k=1
for i=1 to 10000
if sheets("sheet1").cells(i,1)="" then exit for
for j=start to end
if sheets("sheet1").cells(i,1)=j then
sheets("sheet1").cells(k,5)=sheets("sheet1").cells(i,2)
k=k+1
end if
next j
end if

next i

end sub

不懂再问,qq1189281(不好意思,qq少写了一位)

D列中,日期段4日-5日数据如下:

D列E列
2006-04-04
2006-04-05

在E1单元格中编辑公式
=VLOOKUP(D1,$A$1:$B$7,2,FALSE)
回车确认,并向下复制公式到E2单元格即可。

效果:
E1单元格中返回值500,E2单元格中返回值600。

公式释义:
函数VLOOKUP是一个查找和引用函数。
函数格式
VLOOKUP(用来查找的数值,数值查找的单元格区域,被查找到的数值所在行的列数,精确匹配值)。

=VLOOKUP(D1,$A$1:$B$7,2,FALSE)意义
在单元格区域A1:B7的首列查找等于D1的值,并返回被查到的值所在行的第2列精确对应值(即500)。

补充:

如果要向下继续筛选,公式可以用IF函数
=IF(D1="","",VLOOKUP(D1,$A$1:$B$7,2,FALSE))

D列输入相应日期数据即可。