Excel: Qual fórmula usar para retornar o mínimo ou máximo de um conjunto de valores de pesquisa? [duplicado]

1

Estou procurando uma maneira de calcular os valores mostrados em cols D & E no screengrab abaixo. A coluna D contém a data mais antiga da coluna B, na qual o nome na coluna A corresponde. Da mesma forma, a coluna E contém a data mais recente da coluna C, em que o nome na coluna A corresponde.

porexemplo.Paratodasasocorrênciasde"Bob" na coluna A: a coluna D deve conter as mais antigas "Linha de data" da coluna B, onde a coluna A="Bob" (neste caso, 1º de dezembro de 2013).

Eu sei que isso pode ser feito facilmente usando uma tabela dinâmica, no entanto, neste caso, eu preciso fazer isso com uma fórmula ou programaticamente.

Os dados estão sendo gerados usando o VBA, portanto, na ausência de uma solução de fórmula, simplesmente voltarei a calcular os valores necessários como parte do programa (NB: não estou perguntando como fazer isso). Por causa da complexidade do conjunto de dados (o exemplo acima é uma simplificação grosseira) levaria cerca de um dia para implementá-lo no código, então eu prefiro evitar isso, se possível.

Eu estou supondo que o caminho a percorrer pode ser fórmulas de matriz, mas tenho vergonha de admitir que não tenho a menor idéia de como usá-las.

Toda e qualquer ajuda / ponteiros é muito apreciada.

    
por blackworx 19.02.2014 / 10:34

1 resposta

2

Em geral:

{=MIN(IF(MatchRange=MatchVal,ValueRange))}

ou

{=MAX(IF(MatchRange=MatchVal,ValueRange))}

Então, traduzido para as condições do exemplo original ...

A célula D2 contém a seguinte fórmula de matriz:

{=MIN(IF(A$2:A$7=A2),B$2:B$7)}

E a célula E2 conteria:

{=MAX(IF(A$2:A$7=A2),C$2:C$7)}

NB: Não digite as chaves / chaves nos exemplos acima. Digite a fórmula sem eles, em seguida, pressione Ctrl + Deslocar + Enter para criar uma fórmula de matriz.

As fórmulas em D2: E2 seriam então "autociáveis" para D2: E7.

Com gratidão infinita para teylyn, sem cujos comentários úteis eu poderia ter apenas sentado aqui esperando por uma resposta como um noob.

    
por 19.02.2014 / 15:28