Qual fórmula retornará um código designado para o valor mais alto em um conjunto de células? [fechadas]

0

Desejo retornar o valor mais alto em um conjunto de células com um código representativo. Uma imagem vale mais que mil palavras, então eu adicionei uma para você abaixo:

insira a descrição da imagem aqui

O que você vê na imagem (coluna T, onde a letra se refere a um dos cabeçalhos e mostra qual é o valor mais alto das três colunas anteriores) foi feito à mão. Não quero fazer isso pelo restante, porque levaria muito tempo.

Qual é a fórmula mais simples e fácil de fazer isso para alguém que usa o Excel 2007? (Se você pudesse adicionar um pouco de explicação à sua fórmula, isso seria ainda melhor, mas não necessário.)

Lisa Beck
fonte
11
Observe que superuser.com não é um serviço gratuito de criação de scripts / códigos. Se você nos contar o que você tentou até o momento (inclua os scripts / códigos que você já está usando) e onde está preso, podemos tentar ajudar com problemas específicos. Você também deve ler Como faço uma boa pergunta? .
DavidPostill
Obrigado pelo comentário, @DavidPostill. Não fiz muitas perguntas neste fórum e, desde que minhas duas ou duas perguntas sobre fórmulas foram respondidas com tanta rapidez e sem nenhuma advertência sobre o uso para um "serviço gratuito de escrita de código / script", fiquei um pouco surpreso para ver esse tipo de comentário, especialmente quando tentei ajudar outras pessoas oferecendo uma solução própria em pelo menos uma ocasião. No entanto, a página que você me indicou era boa e eu gostei de lê-la. No entanto, não acho que minha pergunta aqui esteja realmente em desacordo com nenhum dos conselhos que ela fornece.
Lisa Beck
Quanto ao primeiro ponto da página a que você me referiu - pesquisa e pesquisa - eu sempre faço parte disso antes mesmo de me preocupar em chegar a essa troca de pilha, e então tento garantir que minha pergunta ainda não tenha sido respondida. abordados através deste fórum. A quantia que eu faço depende de quão difícil eu acho que minha pergunta é responder em relação à profundidade e amplitude do conhecimento conjunto que acho que possa existir em superuser.com. Muitas vezes não tento "enlamear as águas" com minhas tentativas, às vezes desajeitadas, de criar uma fórmula que funcione.
Lisa Beck
Mas, para você, @DavidPostill, compartilharei alguns dos trabalhos "nos bastidores" que ocorreram antes de eu decidir postar esta pergunta. Depois de visitar várias páginas da Web com algumas fórmulas realmente complicadas, finalmente decidi jogar a toalha e apenas tentar algo do alto da minha cabeça. Então joguei abaixo: = IF (Q2> R2, "N").
Lisa Beck
Isso funcionou, mas quando tentei adicionar uma terceira coluna de informações a essa fórmula condicional, continuei recebendo mensagens de erro após mensagem de erro. Apesar do meu fracasso em encontrar uma fórmula que funcionasse, tenho a sensação de que isso não seria tão difícil para um superusuário experiente, por isso não gastei muito tempo tentando descobrir isso sozinho. Fiquei bastante impressionado com a experiência dos usuários neste fórum, por isso realmente me surpreenderia se isso fosse algo que atrapalhou essa comunidade.
Lisa Beck

Respostas:

2

Como você não especificou o que acontece em um empate, assumirei que o resultado deve ser NBT se houver um empate nas três colunas.

  1. Encontre o valor máximo:

    Use esta fórmula:

    =MAX(Q2:S2)
    

    Isso fornece o valor máximo. (Isso pressupõe que seja para uso em T2)

    Use o gerenciador de nomes para dar a essa fórmula o nome MaxV ou apenas use a própria fórmula.

  2. Primeiro IF:

    =IF(Q2=MaxV,"N","")
    

    Este IF () imprime um N ou nada

  3. Faça uma fórmula para outras colunas e combine em uma única equação:

    =IF(Q2=MaxV,"N","") & IF(R2=MaxV,"B","") & IF(S2=MaxV,"T","")
    

Se você não deseja usar o gerenciador de nomes, a fórmula completa é:

=IF(Q2=MAX(Q2:S2),"N","") & IF(R2=MAX(Q2:S2),"B","") & IF(S2=MAX(Q2:S2),"T","")

O &é usado para unir duas letras, semelhante ao modo como um + é usado para adicionar dois números.

Bvaughn
fonte
Ainda não testei sua fórmula, mas já estou impressionado com sua resposta por sua simplicidade e uso dos recursos do Excel um pouco mais comuns para o usuário médio. Eu estou familiarizado com as funções MIN / MAX até certo ponto, mas por algum motivo não pensei nelas ao tentar resolver isso. Talvez eu estivesse muito concentrado na redação da fórmula condicional e por que minhas várias tentativas não estavam funcionando, em vez dos recursos já existentes do Excel que podem me ajudar a fazer mais com menos.
Lisa Beck
Quanto a quaisquer "laços", tomei medidas para garantir que não houvesse, mas gosto da sua solução proposta nesse caso. Vou tentar sua fórmula agora para ver se funciona. Vou deixar você saber o que acontece. Muito obrigado por ter feito a tentativa.
Lisa Beck
Você é brilhante, @bvaughn. Sua fórmula funciona como um encanto.
Lisa Beck
1

A resposta de bvaughn é agradável, limpa e simples, especialmente se você tiver apenas algumas colunas. Também é intuitivamente escalável se você adicionar mais colunas. Se você tem muitas colunas, porém, essa abordagem pode começar a ficar complicada.

Aqui está uma abordagem diferente que se adapta melhor se você precisar expandir o problema com mais colunas.

=CHOOSE(MATCH(MAX(Q2:S2),Q2:S2,0),"N","B","T")

Explicação, trabalhando de dentro para fora:

  • MAX(Q2:S2) identifica o valor máximo no intervalo.

  • MATCH(MAX(Q2:S2),Q2:S2,0) localiza esse valor no intervalo, fornecendo um número de posição.

  • CHOOSE(position,"N","B","T") seleciona na lista de valores de saída usando a mesma posição relativa.

Esse tipo de fórmula pode lidar com um grande número de colunas apenas adicionando as saídas à lista (e ajustando o intervalo, é claro). A parte do cavalo de trabalho não muda quando as colunas crescem. A fórmula permanece compacta porque a única coisa que cresce à medida que você adiciona colunas é a lista de valores de saída.

Solução alternativa

A função ESCOLHER é necessária apenas porque você está usando rótulos diferentes dos cabeçalhos das colunas. Se você usar os cabeçalhos das colunas ("Notícias", "Livros", "Tweets" neste caso), poderá usar uma fórmula genérica que apenas faça referência aos intervalos:

=INDEX(Q$1:S$1,1,MATCH(MAX(Q2:S2),Q2:S2,0))

A localização da posição do número mais alto é a mesma de antes, mas é usada para selecionar os cabeçalhos na primeira linha usando INDEX. Essa fórmula permaneceria a mesma para qualquer número de colunas, apenas especificando o intervalo.

fixer1234
fonte
11
Uma boa alternativa elegante ao meu método. No entanto, ii lida com os laços de maneira diferente. Se houver um empate nas saídas da mina (NT) onde isso produziria (N). Depende de onde isso é usado se os laços forem algo a ser incomodado.
bvaughn
@ Bvaughn, você está certo. Se houver laços, sua resposta lida com isso muito bem e a minha não. Acho que isso também explica por que sua resposta recebeu o comentário "Você é brilhante"; obviamente isso é verdade. :-)
fixer1234