在excel中执行多列搜索时是否可以返回给定的自定义值?
我有2张纸,在第一张纸上有3列,每列有几行,带有唯一的数字 .
在第二张纸中,我有2列,此纸张2中的第一列有一个唯一的编号,可以在第1页第1,2或3栏中找到 .
在此工作表2的第2列中,如果在工作表1的3列中的任何一列中找到第1列中的值,我想显示自定义文本 .
例如,如果在sheet1 / Column3中找到sheet2 / column1中的值,则文本应为=“Column1中找到的值”,如果在sheet1 / Column2中找到该值,则文本应为=“Column2中找到的值”,如果在sheet1 / Column1中找到该值,则文本应为=“Column1中找到的值” .
这可能吗,你能举个例子吗?
谢谢 .
1 回答
是的,这可以做到 . 我可以为你编写这个功能,但我觉得你最好自己写一下 . 这是我如何去做 . 在sheet2的B,C和D列中写入
vlookup()
,对应于sheet1的A,B和C列 . 如果vlookup()
在任何这些列中返回匹配项,则该值存在于三个sheet1列之一中 .下一步是使用
isna()
返回一个布尔值,即vlookup()
是否返回匹配项 . 同样,你需要为每个vlookup()
(总共三个)中的一个 .最后,您可以在
isna()
列上使用and()
来检查这三个列是否都是#N/A
. 根据该布尔值,您可以if()
返回自定义文本 .显然,我描述的过程将问题分成许多列 . 这些功能可以组合成一个可怕的嵌套功能,如果你真的想要放入一个单元格,但这取决于你 . 如果您有任何问题,请告诉我 .