Excel多列搜索,自定义文本显示

时间:2016-06-18 23:22:03

标签: excel excel-vba excel-formula vba

在Excel中执行多列搜索时是否可以返回给定的自定义值?

我有2张, 在第一张纸中,我有3列,每列有几行,带有唯一的数字。

在第二张表格中,我有2列,此表格2中的第一列有一个唯一的编号,可在表格1,2或3列中找到。

在本表2的第2列中,如果在表1的3列中的任何一列中找到第1列中的值,我想显示自定义文本。

例如,如果在sheet1 / Column3中找到sheet2 / column1中的值,则文本应为=“Column1中找到的值”,如果在sheet1 / Column2中找到该值,则文本应为=“Value Found in Column2“,如果在sheet1 / Column1中找到该值,则文本应为=”Column1中找到的值“。

这可能吗,你能举个例子吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

是的,这可以做到。我可以为你编写这个功能,但我觉得你最好自己写一下。这是我如何去做。在sheet2的B,C和D列中写一个vlookup(),对应于sheet1的A,B和C列。如果vlookup()在任何这些列中返回匹配项,则该值存在于三个sheet1列之一中。

下一步是使用isna()返回vlookup()是否返回匹配的布尔值。同样,对于每个vlookup()(总共三个),您需要其中一个。

最后,您可以使用and()列上的isna()来检查这三个列是否#N/A。根据该布尔值,您可以if()返回自定义文本。

显然,我描述的过程将问题分成许多列。这些功能可以组合成一个可怕的嵌套功能,如果你真的想要放入一个单元格,但这取决于你。如果您有任何问题,请告诉我。