无需按 Ctrl-Shift-Enter 即可将 Excel 中的公式转换为数组公式?

无需按 Ctrl-Shift-Enter 即可将 Excel 中的公式转换为数组公式?

问题:在 Excel 中如何将公式转换为数组公式,而不使用热键?

正常配方

正常公式(和结果)

数组公式

数组公式(和结果)

答案1

Excel 有许多原生公式可让你创建/使用数组,例如

SUMPRODUCT()
INDEX()
OFFSET()    
SUMIFS()
COUNTIFS()
AVERAGEIFS()

了解这些原生公式将使你在大多数情况下避免使用 CSE 数组公式(如果这是你的目标)

例如,对编号范围尝试此操作:

=LEN(MAX(INDEX(C2:C14,,1)))

此外,根据下面的讨论,该公式适用于所有编号和非编号/混合范围:

=MAX(INDEX(LEN(C2:C14),,1))

答案2

解决此限制的一个方法是创建一个小型 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

答案3

一个答案是使用范围和公式的名称来开发解决方案。

因此,通过定义“v”来引用 =C2:C14,公式的外观可能会得到改善。公式 =MAX(LEN(v)) 仍然需要输入数组,但是,如果定义“n”来引用 =LEN(v),则数组计算将作为命名公式的默认行为执行。因此,=MAX(n) 无需使用 CSE 输入即可工作。

相关内容