Como obter lista de células que correspondem aos critérios no Excel 2013

0

Eu tenho três colunas em uma planilha do Excel 2013. Um é um ID, um é uma coluna de referência e um é referenciado por coluna. Algumas linhas fazem referência a outras linhas e algumas são referenciadas por outras linhas. As referências podem ser um relacionamento um-para-muitos (muitas linhas secundárias fazem referência a uma linha importante). Há espaço para preencher uma célula com uma lista de células que fazem referência a outra célula?

| ID   |  REF | REF-BY |
------------------------
| 001  |      |002,003 |
------------------------
| 002  | 001  |        |
------------------------
| 003  | 001  |        |
------------------------

Obrigado pela ajuda

    
por Trevor Newhook 19.11.2013 / 15:57

1 resposta

1

A maneira de contornar isso é incluir uma função personalizada no Excel para calcular o resultado para você. Inclua o seguinte código em um novo módulo no VBA. Pressione Alt + F11 para abrir o Editor do Visual Basic e clique em Inserir - > Módulo. Cole o seguinte código ind o novo módulo e feche o Editor do Visual Basic novamente.

Function MatchCriteria(ID As Range, REF As Range) As String
    Dim Cell As Range
    Dim Str As String
    For Each Cell In REF
        If Cell.Value = ID.Value And Cell.Row <> ID.Row Then
            If Str = vbNullString Then
                Str = Cells(Cell.Row, ID.Column).Value
            Else
                Str = Str & ", " & Cells(Cell.Row, ID.Column).Value
            End If
        End If
    Next Cell
    MatchCriteria = Str
End Function

Agora você pode usar essa função como visto na figura a seguir.

AprimeiraentradanafunçãodefineoIDeasegundaentradadefineoseu"referenciado por coluna". Observe que na minha versão do excel (dinamarquês) o delimitador de entrada é " ; . Se você estiver usando uma versão em inglês do Excel, deverá usar uma vírgula, , .

    
por 21.11.2013 / 15:13