Existe um operador de união no Excel?

6

Alguém sabe se há um operador de união no Excel 2010?

Eu tentei ; e , , nenhum deles parece funcionar. Por exemplo, =E2:E3;E4:E6 , =E2:E3,E4:E6 , {=E2:E3;E4:E6} e {=E2:E3,E4:E6} sempre retornam um erro.

    
por SoftTimur 11.07.2012 / 10:23

4 respostas

9

O operador "união" do Excel sempre foi a vírgula * (por exemplo, A1:A9,F2:G4 ), enquanto seu operador de interseção é um único espaço. Não é que não funcione, é que nem todas as funções do Excel podem aceitar esse método de referência.

Aqui estão alguns que fazem:

  • SUM()
  • COUNT()
  • COUNTA()
  • SMALL()
  • LARGE()
  • MIN()
  • MAX()
  • AVERAGE()

No entanto, quando você pensa sobre isso, o , não faz exatamente união , mas sim definir adição. Por exemplo, =COUNT(A1,A1,A1) retorna 3 . Se fosse realmente um operador de união, essa fórmula retornaria 1 .

** Algumas versões Euro usam o ponto-e-vírgula ( ; ), dependendo das configurações regionais do computador. *

(Outras leituras: Microsoft Office: operadores de cálculo e precedência )

    
por 11.07.2012 / 13:34
5

Se você quiser somar valores, você pode escrever isto:

=SUM(I3:M3;I4:M4;I5:M5)

Se quiser mesclar textos, você pode escrever isso (ou use o mouse como @soandos diz):

=CONCATENATE(A1;B1;C1;D1)

Parece que você deseja escrever =CONCATENATE(A1:D1) . Mas, como eu sei, não é possível (dá erro) .

    
por 11.07.2012 / 10:39
3

A questão não está muito clara, mas por enquanto, parece que você tem que mesclar textos. Então, por exemplo - de acordo com o seu exemplo, se você tiver que unir E2, E3, E4, E5, E6, você pode escrever uma fórmula como:

=CONCATENATE(E2,E3,E4,E5,E6)

Eu mesmo tentei: você precisa descrever individualmente as células. ":" Isso não está funcionando para mim também no Concatenate. Então você deve tentar como explicado acima.

Else, a resposta de mmdemirbas explica perfeitamente a fórmula SUM .

    
por 11.07.2012 / 11:07
1

Em suma, a resposta é NÃO.

No entanto, para algumas funções, você pode usar a seguinte solução alternativa,

=COUNTA(B1:B3,A2:C2)-COUNTA(B1:B3 A2:C2)

Observe que os intervalos têm uma célula em comum (ou seja, interseção). O "," é usado por algumas funções para permitir que múltiplos intervalos sejam fornecidos como parâmetro. Isso não é uma união, pois isso incluirá a célula de interseção duas vezes. Será contado duas vezes. Então, subtraindo a interseção, você obtém a resposta correta.

Esta técnica deve funcionar com o seguinte:

SUM() COUNT() COUNTA()

Não funciona com: SMALL() LARGE()

A fórmula pode ser modificada para funcionar com:

AVERAGE()

Nunca é necessário com MAX and MIN !

É uma dor real que funciona assim e que não existe um operador UNION.

No VBA você pode escrever uma função que cria uma união apropriada:

veja aqui para obter informações link

ou seja

 Function ProperUnion(ParamArray Ranges() As Variant) As Range
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' ProperUnion
' This provides Union functionality without duplicating
' cells when ranges overlap. Requires the Union2 function.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Dim ResR As Range
    Dim N As Long
    Dim R As Range

    If Not Ranges(LBound(Ranges)) Is Nothing Then
        Set ResR = Ranges(LBound(Ranges))
    End If
    For N = LBound(Ranges) + 1 To UBound(Ranges)
        If Not Ranges(N) Is Nothing Then
            For Each R In Ranges(N).Cells
                If Application.Intersect(ResR, R) Is Nothing Then
                    Set ResR = Union2(ResR, R)
                End If
            Next R
        End If
    Next N
    Set ProperUnion = ResR
End Function
    
por 05.02.2015 / 13:00