如何在Excel中创build一个多单元格数组公式,其input只是一个单元格?

我有一个间隔分隔string的单元格说“空9”

说这个数据存储在A1中。

我有一个函数调用

Function splitCell(str As String) As String() splitCell = split(str, " ") End Function 

我想把单元格分解成一个string数组,然后我想要做的是有一个公式如

{=splitCell(A1)}

在A2和A3位置,A2将包含“NULL”,A3包含“9”。 我哪里错了? 请帮忙。 谢谢

你需要将Split的结果赋给一个变体,如果你希望结果是垂直的而不是水平的,你需要转置它。

 Public Function SplitCell(rng As Range) As Variant SplitCell = Application.Transpose(Split(rng)) End Function 

您可以完全使用Excel公式完成此操作:

 A2: =LEFT(A1,FIND(" ",A1)) A3: =MID(A1,FIND(" ",A2)+1,LEN(A1)-FIND(" ",A2)) 

这应该给你以后的结果。

对不起,错过了你想超越简单的版本扩大。

 Function splitCell(str As String, pos As Integer) As String Dim strarray() As String strarray = Split(str, " ") splitCell = strarray(pos) End Function A2: =splitCell(A1,0) 

您将需要将该function放入一个模块(不是在表单代码中)