2

ハードコーディングされた特定の引数値を多数のセルから新しいセルに抽出できる必要があります。

セルに次の式があるとします。

=func("value1","value2","value3")

独自のセルに抽出したいのですvalue2が、すべての値は可変長です。

ネーム マネージャーに以下を追加することで、数式をテキストとして取得できました。

=GET.CELL(6,INDIRECT("RC[-2]",FALSE))

しかし、値が可変であるということは、文字列の長さが関数値で非常に可変であることを意味するため、これは実際には役に立ちません。

4

1 に答える 1

2

に関する公式情報が見つからないGET.CELLので、ユーザー定義関数だと思います。

これは、が既に使用されていることを意味します。そのため、新しい UDF を作成します。

Function FuncArg(ByVal r As Range, ByVal n As Long)
    Dim a As String
    a = Split(r.Resize(1, 1).Formula, "(", 2)(1)
    a = Split(a, ")")(0)
    a = Split(a, ",")(n - 1)
    FuncArg = Application.Evaluate(a)
End Function

=FuncArg(A1, 2)したがって、Excel では、数式を使用して cell の関数の 2 番目の引数を返すことができますA1

注意: この関数は、非常に管理された状況で使用する必要があります。

  • を使用Application.Evaluateすると、非常に安全ではなくなります。
  • 最初の関数のみをチェックします。
  • ネストされた関数またはエンコードされた文字列,または).
于 2013-09-27T07:50:24.160 に答える