3

Вопрос: Как в Excel можно преобразовать формулу в формулу массива без использования горячей клавиши?

Нормальная формула

Нормальная формула (и результат)

Формула массива

Формула массива (и результат)

3 ответа3

5

В Excel есть ряд собственных формул, которые позволяют вам создавать / использовать массивы, например

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

Знание этих собственных формул позволит вам избежать формул массива CSE в большинстве случаев (если это ваша цель)

Например, попробуйте это для пронумерованных диапазонов:

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

Кроме того, в результате обсуждения ниже, эта формула будет работать для всех пронумерованных и ненумерованных / смешанных диапазонов:

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

Одним из способов обойти это ограничение является создание небольшого сабвуфера VBA и назначение его сочетанию клавиш по вашему выбору.

Это преобразует выбранный диапазон в формулу массива.

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
0

Одним из ответов является разработка ваших решений с использованием имен для диапазонов и формул.

Таким образом, внешний вид вашей формулы может быть улучшен путем определения v для обозначения = C2:C14. Формула = MAX(LEN(v)) по-прежнему должна вводиться в массив, но если вы определите 'n' для ссылки на = LEN(v), вычисление массива будет выполняться как поведение по умолчанию для именованной формулы. Поэтому = MAX(n) работает без использования записи CSE.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .