返回值并在UDF中分配单元格

我总是需要根据一个键(多个单元格值)比较两个工作表,然后从第二个工作表中返回多个单元格值。 要实现它,我需要在使用多个vlookup函数返回值之前,将这些单元格变成两个文件中的一个单元格。

然后,我尝试构build一个UDF,它允许从第一个工作表中定义search关键字,并从键(从第二个工作表中)search,并在匹配logging的同时将值分配给不同的单元格。 不幸的是,我发现它违反了Excel UDF规则,您不能将值设置为返回UDF中的单元格。

我不知道为什么Excel有这样的限制。 它知道它可以在一个子程序中完成。 但是我真的想要使用UDF,以便我可以轻松地将pass参数返回给函数,并同时从函数返回一个指示器。

请如果你有什么好主意如何解决它。

UDF只能将值返回给它所占用的单元格的原因是因为Excel的重新计算逻辑工作原理:将值返回给不同的单元格会导致依赖树和计算链混乱。

通过使UDF成为多单元格数组公式,可以从UDF返回多个值。 但细胞必须是连续的。
http://fastexcel.wordpress.com/2011/06/20/writing-efiicient-vba-udfs-part5-udf-array-formulas-go-faster/