Excelには、配列を作成/利用できるようにする多数のネイティブ式があります。
SUMPRODUCT()
INDEX()
OFFSET()
SUMIFS()
COUNTIFS()
AVERAGEIFS()
これらのネイティブ数式をよく知っていると、ほとんどの場合、CSE配列数式を回避できます(それが目的の場合)
たとえば、番号付きの範囲でこれを試してください。
=LEN(MAX(INDEX(C2:C14,,1)))
さらに、以下の説明の結果として、この式はすべての番号付きおよび番号なし/混合範囲で機能します。
=MAX(INDEX(LEN(C2:C14),,1))
この制限の回避策の1つは、小さなVBA Subを作成し、それを選択したキーボードショートカットに割り当てることです。
これにより、選択した範囲が配列数式に変換されます。
Sub ConvertToArrayFormula()
Dim rng As Range
Dim arr As Range
Set rng = Selection
For Each arr In rng.Areas
arr.FormulaArray = arr.Cells(1, 1).Formula
Next
End Sub
1つの答えは、範囲と数式の両方に名前を使用してソリューションを開発することです。
したがって、= C2:C14を参照するように「v」を定義することにより、数式の外観を改善できます。数式= MAX(LEN(v))は引き続き配列を入力する必要がありますが、= LEN(v)を参照するように「n」を定義すると、名前付き数式のデフォルトの動作として配列計算が実行されます。したがって、= MAX(n)はCSEエントリを使用せずに機能します。