簡體   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