使用SQL查询来实现,设你当前表为sheet1,A列存放名称,现在要将sheet1中A列等于111的数据存放到sheet2中
以excel2007为例(2003也类似,只是菜单命令位置不一样)
1.点击“数据”功能区下的“自其他来源”“来自Microsoft Query”
2.打开的“选择数据源”对话框中“数据库”项下选择“Excel Files*”,然后单击确定。定位当前工作簿当前表格
3.在“查询向导”——选择列中,选择好要显示的列,点击“下一步”。这时会提示“无法继续”等等,不用管它,点击“确定”
4.点击“Microsoft Query”“视图”菜单下的“SQL”命令,在SQL语句最后加上条件,类似 where `Sheet1$`.名称=111 确定
5.点击“Microsoft Query”“文件”菜单下的“将数据返回Microsoft Excel”,选择sheet2的A1做为放置新数据表的位置就可以了。
只能用数组公式,
假设名称在A列 数据在B列
C1输入一个名称
D1输入公式 =INDEX($B$1:$B$100,SMALL(IF($A$1:$A$100=$C$1,ROW($1:$100),""),ROW(A1)),1)
CTRL SHIFT 回车结束,向下填充,出现#NUM停止
一,用IF+row+index+small的数组形式
二,用高级筛选的条件格式
把问题作为内容、样表(请注意:要03版的,把现状和目标效果表示出来)作为附件发来看下 yqch134@163.com,包你满意
OFFSET(reference,rows,cols,height,width)
你既然会用vlookup,那么这个你看了就会了,不会自己看帮助即可