Compare várias colunas com outra planilha e, se corresponder, retorne true

0

Eu tenho uma planilha chamada Test com colunas

[Category],[SubCategory],[Name], [Is in share?]

que precisam ser comparados (exceto para a coluna [Está em compartilhamento?] ) com a folha chamada Share. Compartilhar também tem a coluna [Category], [SubCategory], [Name]

Se os valores nas colunas do teste forem [Category],[SubCategory],[Name] são correspondidos com valores nas colunas do compartilhamento [Category], [SubCategory], [Name] e retornam true. O valor verdadeiro deve estar na coluna [Is in share?]

Eu tentei usar vlookup mas não acertar.

Sheet Test
[Category]  [SubCategory]       [Name]        [Is in share?]
Food      |||  Hard      |||    FoodHard1 ||| False
Food      |||  Hard      |||    FoodHard2 ||| True
Food      |||  Soft      |||    FoodSoft1 ||| False
Table     |||  Wood      |||    TableWood1||| True

.

Sheet Share
[Category]   [SubCategory]      [Name]         [Date]         [Site]
Food      |||  Hard      |||    FoodHard23 ||| Jan-02-2003   ||| AB
Food      |||  Hard      |||    FoodHard2  ||| Jan-02-2003   ||| CA
Food      |||  Soft      |||    FoodSoft15 ||| Jan-05-2003   ||| KK
Table     |||  Wood      |||    TableWood1 ||| Jan-05-2003   ||| AB
    
por momokjaaaaa 11.09.2014 / 08:42

1 resposta

0

Use =sumproduct() Isso testará várias condições de um intervalo de linhas. Cada condição retorna um 1 ou 0 e eles são então multiplicados juntos para dar um 1 (todas as condições coincidem) ou um 0 (uma ou mais condições não coincidem).

=sumproduct((Test!$A1=Share!$A$1:$A$100)*(Test!$B1=Share!$B$1:$B$100)*(Test!$C1=Share!$C$1:$C$100)*1)

Essa fórmula pressupõe que seus dados iniciem em A1 e não tenham linhas principais. Ele contém três condições, cada uma comparando Categoria, Subcategoria e Nome nas duas folhas, de forma iterativa para cada linha de 1 a 100 (altere conforme necessário). O% final *1 apenas faz a fórmula retornar 1 ou 0. Você poderia colocar isso em uma declaração =if() para dizer se o resultado for 1 e então retornar true else return false .

Existem outras maneiras de fazer isso em versões mais recentes do Excel com =countifs() e =sumifs e em todas as versões do Excel com uma fórmula de matriz.

    
por 11.09.2014 / 14:57