Вопрос: Как в Excel можно преобразовать формулу в формулу массива без использования горячей клавиши?
3 ответа
В Excel есть ряд собственных формул, которые позволяют вам создавать / использовать массивы, например
SUMPRODUCT()
INDEX()
OFFSET()
SUMIFS()
COUNTIFS()
AVERAGEIFS()
Знание этих собственных формул позволит вам избежать формул массива CSE в большинстве случаев (если это ваша цель)
Например, попробуйте это для пронумерованных диапазонов:
=LEN(MAX(INDEX(C2:C14,,1)))
Кроме того, в результате обсуждения ниже, эта формула будет работать для всех пронумерованных и ненумерованных / смешанных диапазонов:
=MAX(INDEX(LEN(C2:C14),,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
Одним из ответов является разработка ваших решений с использованием имен для диапазонов и формул.
Таким образом, внешний вид вашей формулы может быть улучшен путем определения v для обозначения = C2:C14. Формула = MAX(LEN(v)) по-прежнему должна вводиться в массив, но если вы определите 'n' для ссылки на = LEN(v), вычисление массива будет выполняться как поведение по умолчанию для именованной формулы. Поэтому = MAX(n) работает без использования записи CSE.