繁体   English   中英

如何在输入仅为一个单元格的Excel中创建多单元格数组公式?

[英]How do I create a multi-cell array formula in Excel whose input is just one cell?

我有一个以空格分隔的字符串表示“ NULL 9”的单元格

假设此数据存储在A1中。

我有一个叫做

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

我正在尝试将单元格拆分为字符串数组,然后要做的是使用一个公式,例如

{=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)

您需要将函数放入模块中(不在工作表代码中)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM