Converter uma fórmula no Excel em uma fórmula de matriz sem Ctrl-Shift-Enter?

3

Pergunta: Como é possível no Excel converter uma fórmula em um fórmula de matriz , sem usar uma tecla de atalho?

Fórmula normal

Fórmuladematriz

    
por David Michael Gregg 19.09.2014 / 05:26

3 respostas

4

O Excel tem várias fórmulas nativas que permitem criar / utilizar matrizes, por exemplo

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

Conhecer bem essas fórmulas nativas permitirá que você evite as fórmulas da matriz CSE na maioria dos casos (se esse for o seu objetivo)

Por exemplo, tente isso para intervalos numerados:

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

Além disso, como resultado da discussão abaixo, essa fórmula funcionará para todas as faixas numeradas e não numeradas / mistas:

=MAX(INDEX(LEN(C2:C14),,1))
    
por 19.09.2014 / 15:25
1

Uma alternativa para essa limitação é criar um pequeno VBA Sub e atribuí-lo a um atalho de teclado de sua escolha

Isso converterá o intervalo selecionado em uma fórmula de matriz.

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
    
por 20.09.2014 / 06:40
0

Uma resposta é desenvolver suas soluções usando nomes para ambos os intervalos e fórmulas.

Assim, a aparência da sua fórmula pode ser melhorada definindo 'v' para se referir a = C2: C14. A fórmula = MAX (LEN (v)) ainda precisa ser uma matriz inserida, mas, se você definir 'n' para se referir a = LEN (v), o cálculo da matriz é executado como o comportamento padrão de uma fórmula nomeada. Portanto, = MAX (n) funciona sem usar a entrada do CSE.

    
por 21.04.2015 / 21:02