Supondo que os valores que você deseja retornar são sempre numéricos, acho que isso funcionaria:
=IFERROR(VLOOKUP(INPUTCELL,$A$1:$B$3,2,0),0)+IFERROR(VLOOKUP(INPUTCELL,$C$1:$D$3,2,0),0)
Isso só funcionará no Excel 2007, mas pode ser modificado para 2003. Pode haver uma maneira mais sexy, mas é o primeiro em que pensei. Observe que, se 'Teste 1' estiver nas duas colunas, como exemplo, ele adicionará os dois valores correspondentes.
Resposta atualizada: Como outros comentaristas sugeriram, eu reavaliaria o layout da sua planilha. Supondo que você não possa alterá-lo, a única solução escalável que vejo é via VBA. Não sou especialista em VBA, portanto, é provável que haja maneiras mais eficientes de codificar essa solução, mas é isso que recebi:
- Pressione Alt + F11 para abrir o editor do VBA.
- No editor do VBA, clique em Inserir > Módulo.
- Cole o seguinte código:
Public Function GetValue(rngSearch As Range, rngInput As Range) As Variant Dim cell As Variant For Each cell In rngSearch If cell.Value = rngInput.Value Then GetValue = cell.Offset(0, 1) Exit For End If Next End Function
4 Para usar o tipo de função "= GetValue (SearchRange, InputCell)" (sem aspas) na célula desejada com InputCell sendo a célula que diz 'Teste 1', 'Teste 2', etc. e SearchRange sendo a área em que você está pesquisando.
Você precisará ter macros ativadas para que isso funcione.