我总是需要根据键(多个单元格值)比较两个工作表,然后从第二个工作表返回多个单元格值。为了实现它,我需要在使用多个vlookup函数返回值之前将单元格连接到两个文件中的一个单元格中。
然后我尝试构建一个UDF,它允许定义搜索键(来自第一个工作表)并从键(从第二个工作表)搜索,并在记录匹配时同时将值分配给不同的单元格。不幸的是,我发现它违反了Excel UDF规则,您无法为返回UDF中的单元格设置值。
我不知道为什么Excel有这样的限制。它知道它可以在子程序中完成。但我真的想使用UDF,以便我可以轻松地将pass参数返回给函数并同时从函数返回指示符。
请您知道如何解决问题。
答案 0 :(得分:0)
UDF只能将值返回到它所占用的单元格的原因是因为Excel重新计算逻辑的工作方式:将值返回到不同的单元格会使依赖树和计算链陷入混乱。
通过使UDF成为多单元数组公式,可以从UDF返回多个值。但细胞必须是连续的。
见http://fastexcel.wordpress.com/2011/06/20/writing-efiicient-vba-udfs-part5-udf-array-formulas-go-faster/