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

时间:2010-09-27 00:51:22

标签: excel

我有一个带有间隔分隔字符串的单元格说“NULL 9”

假设此数据存储在A1。

我有一个名为

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

我试图将单元格分解为字符串数组,然后我想要做的是有一个公式,如

{=splitCell(A1)}

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

3 个答案:

答案 0 :(得分:2)

您需要将分割的结果分配给变体,如果您希望结果垂直而非水平,则需要转置它。

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

答案 1 :(得分:1)

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

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

这应该会给你你想要的结果。

答案 2 :(得分:0)

很抱歉,错过了您想要扩展到简单版本之外。

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)

您需要将该功能放入模块(不在表单代码中)