Crie uma lista única com critérios em outra coluna no Excel

0

Imagem mostrando meu gráfico de problemas

Column B:  Column C:
1             A   
1             A          
1             B        
2             B        
2             C            
3             D     
3             D    

Existe alguma maneira de eu obter o valor da coluna C, dado o valor na coluna B? Por exemplo, quais são os valores únicos na coluna C, dado que o valor na coluna B = 1?

    
por Marcus Ericsson 09.11.2015 / 16:47

1 resposta

0

Usando o VBA / Macro:

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    Dim wks As Worksheet
    Set wks = ActiveSheet
    filterrow = 2 'row of the filter cell
    filtercolumn = 4 'column of the filter cell
    criteriacolumn = 2 'number of column of the criteria list
    firstrow = 2 'first row on the criteria list
    resultcolumn = 5 'number of columns where to show the results
    thecriteria = Target.Value
    Dim critarray() As Variant
    therow = Target.Row
    thecolumn = Target.Column
    lastitem = 0
    wks.Columns(resultcolumn).ClearContents
    If (therow = filterrow) And (thecolumn = filtercolumn) Then
        lastrow = wks.Cells(Rows.Count, criteriacolumn).End(xlUp).Row
        ReDim critarray(lastrow)
        For i = firstrow To lastrow
            tempcriteria = wks.Cells(i, criteriacolumn)
            templist = wks.Cells(i, criteriacolumn + 1)
            If tempcriteria = Target.Value Then
                repeated = False
                For j = 1 To lastitem
                    a = critarray(j)
                    If a = templist Then
                        repeated = True
                        j = lastrow
                    End If
                Next j
                If repeated = False Then
                    lastitem = lastitem + 1
                    critarray(lastitem) = templist
                    wks.Cells(lastitem, resultcolumn) = templist
                End If
            End If
        Next i
    End If
    Application.EnableEvents = True
End Sub

Abra o VBA / macros usando ALT + F11, clique duas vezes na folha e cole o código no lado direito. Existem variáveis que você pode modificar para adequar a macro à sua planilha.

Ele usa a célula D2 como o valor do filtro e gera o resultado na coluna E .

    
por 10.11.2015 / 12:39