我们知道在excel中vlookup函数查找只能返回一行数据,使用if{1,0}的方法可以使该函数反向查找 。现在我们要巧妙利用数据的位置关系,使vlookup函数查找可以返回多行,具体方法如下。
前期准备工作(包括相关工具或所使用的原料等)
excel2013excel2003,2007,2010均可详细的操作方法或具体步骤
首先在数据区域左侧列创建辅助列,并输入公式:=B2&COUNTIF($B$2:B2,B2).公式解析:COUNTIF函数为计数,用$B$2:B2创建一个伸缩区域,意思是计算在B2到B2区域内,B2的个数,当公式向下复制的时候,该公式的参数会自动改变,区域会变B2到B3,B4。。。以此类推。再用B2跟COUNTIF函数链接,目的是为了计算在这个区域内,B2出现的次数。

点击任意单元格创建数据有效性。方法如下:点击数据,数据验证,点击下拉三角,数据验证。允许条件选择序列,来源选择J2:J7区域。在此之前你可以先创建该区域数据。确定后,数据有效性便建立成功。


选择一个区域输入公式:
=IFERROR(VLOOKUP($F$1&ROW(1:1),$A$2:$D$14,COLUMN(B:B),0),"")
公式区域的大小跟你要返回的值的多少是有关系的,如果你的数据
较多,建议多选区域,以免数据因为没有公式不能显示。

公式解析:IFERROR函数是为了屏蔽因为查找不到而返回的错误值。vlookup函数的第一个参数$F$1&ROW(1:1)是为了生成数据个数,row(1:1)生成{1},向下复制公式变成row(2:2)生成{2},以此类推。COLUMN函数返回vlookup函数的第三参数,即返回区域的那一列,向右拖拉公式可以自动改变数据,无需手动改变。0表示精确查找。
具体效果看动画演示。如果对您有用请投票。该经验灵感来源于excelhome版主胡剑。

注意事项
点击百度云网盘获得源文件。http://pan.baidu.com/s/1mgsxvp2经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
