使用过vlookup函数的大虾们都知道,对于vlookup函数来说,一对一的查找是相当简单滴。但对于“一对多”的情况(如下图:B列中原料名称与C列的供应商关系,即一种原料有多个供应商时),此种情况下如何使用vlookup函数实现像右侧表中的格式显示呢?

前期准备工作(包括相关工具或所使用的原料等)
Excel详细的操作方法或具体步骤
为简化公式,本例选择A列作为辅助列。在A2单元格中,输入公式=B2&COUNTIF(B$1:B2,B2)。

回车,然后向下填充。填充时可根据实验需要的行数进行填充。如果不影响打印等效果,可一次性向下填充数十行甚至更多。

在F2单元格中输入公式=IFERROR(VLOOKUP($E2&COLUMN(A1),$A:$C,3,0),"")。此外使用IFERROR函数,使无数据单元格显示空白。

回车,然后向左向下填充。填充区域大小根据实际需要进行选择。此时,各原料的供应商均显示出来了。

验证一下,在左侧表中输入原料名称和供应商。在B列中输入已存在原料C,在右侧表中,可自动增加显示供应商名称。若在B列中输入新原料名称D,输入结束后,在E列中输入此新原料名称D后,就会自动显示供应商。

但有个问题,就是重复输入时,右侧供应商表中会显示相同名称的供应商,如下图。为避免此情况出现,应对B列和C列进行数据有效性设置,以避免重复数据的输入。

数据有效性设置:在B、C列中,选择适当区域;点击数据-数据有效性-设置自定义,在公式处输入:=SUM(N(($B2&"|"&$C2)=($B$2:$B$200&"|"&$C$2:$C$200)))=1,设置出错警告,确定后,重新输入重复数据,此时会弹出警告提示,如下图。

注意事项
根据需要向下填充辅助列A。尽量提前设置数据有效性,避免重复数据的输入。经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
