Página 1 de 1
Função CORRESP não funciona com critério "-1" (maior que)
Enviado: 30 Mar 2017 às 14:23
por rogerpenna
Boa tarde. Estava tentando usar essa função para achar a posição de números maiores que X, e todos lugares que eu vi, inclusive dentro do próprio Excel (quando se insere a fórmula através da caixa de fórmulas), indicam que 1 procura valores menores que X, 0 valores iguais a X e -1 valores MAIORES que X).
Resultado dava #N/D
Resolvi fazer um teste simples com 4 números em uma linha, uma célular com um número que mudo e uma célula com a fórmula.
10, 20, 30, 40
Primeiro lugar, aparentemente quando se usa 1, ele não retorna números menores, mas sim "menores ou iguais".
Pois se eu insiro 12 na célula de número de procura, o resultado é 1 (primeiro número:10). Se eu insiro 20, o resultado é 2.
Ou seja, ele não procura valores menores que 20, mas valores menores ou IGUAIS.
Bom, o argumento 0 funciona normal.
Mas o argumento para achar valores MAIORES simplesmente não funciona, mesmo num teste simples como esse.
No momento que coloco o número -1 como argumento, para achar valores maiores, o resultado é #N/D. Estamos falando do mesmo teste acima que funcionou com argumento 1 e 0!!
O que está acontecendo de errado aqui?
Re: Função CORRESP não funciona com critério "-1" (maior que
Enviado: 30 Mar 2017 às 14:36
por rogerpenna
Afff... acabei de descobrir pq não achava nada. Pra procurar um valor MAIOR que X, vc tem que INVERTER a ordem dos números (do maior para o menor). Sinceramente, bem ridículo isso, pq o Excel não dá a opção de pesquisar na ordem inversa ao invés de realmente ter que alterar a ordem?
Minha planilha real é de hodômetro de veículos vs dias em um calendário.
O odômetro dos veículos está sempre subindo e é assim que aparece ao longo dos 30 dias do calendário que criei. Não posso inverter a ordem senão para de fazer sentido.
Mas preciso achar a primeira posição cujo valor é menor que 50.
então tenho A1 =10, A2=20, A3=30, A4=40, A5=50.
Se usar o Corresp com argumento 1, ele me retorna 1, pois acha o primeiro valor com algum número abaixo de 50. O que eu quero entretanto é que retorne 4, que seria o último número ainda abaixo de 50.
(obs: por isso que eu estava tentando usar o argumento -1. Era -1 pro número 49, ou seja, eu estava tentando achar a célula cujo horímetro fosse maior que 49 (seja ela 50, 51, 53, 60 ou 100). E daí eu subtrairia 1 dessa célula. Ou seja, ele me acharia a posição 5 (50) e então eu subtrairia 1 dessa posição, virando 4. Ultima posição com um número menor que 50)
Como fazer isso?
Re: Função CORRESP não funciona com critério "-1" (maior que
Enviado: 30 Mar 2017 às 15:16
por babdallas
Veja se atende sua necessidade.
Erro bobo ( me ajudem)
Enviado: 30 Mar 2017 às 18:23
por mateusSilva
Olá Amigos, Boa noite!
Sou novo no Forúm e não sei se estou no lugar certo para criação de tópicos.
estou fazendo uma ferramenta de cadastro e não sei que besteira eu fiz, na hora de executar o codigo da magro da um erro

gostaria que me ajudassem, o que fiz de errado ?
Código: Selecionar todos
Private Sub CommandButton1_Click()
Dim C As Long
Dim VApelido
Dim VNome
VErr = 0
If Nome.Value = "" Then
MsgBox "Informe a identificação do Cliente"
Matrícula.SetFocus
End If
If Nome.Value = "" Then
MsgBox "Nome do Usuário não pode ficar em branco"
Nome.SetFocus
End If
Sheets("CADCLI").Select
C = Worksheets("CADCLI").Cells(Worksheets("CADCLI").Rows.Count, 1).End(xlUp).Row + 1
D = C - 1
For N = 4 To D
If Cells(N, 1) = Matrícula Then
MsgBox "Já existe uma Matrícula com esta identificação"
VErr = 1
Nome.SetFocus
End If
Next N
If VErr = 1 Then GoTo NoProc
Cells(C, 1).Value = Matrícula.Value
Cells(C, 2).Value = Nome.Value
Cells(C, 3).Value = Endereço.Value
Cells(C, 4).Value = Bairro.Value
Cells(C, 5).Value = CEP.Value
Cells(C, 6).Value = Município.Value
Cells(C, 7).Value = ComboBox2.Value
Cells(C, 8).Value = Telefone.Value
Cells(C, 9).Value = Celular.Value
Cells(C, 10).Value = Email.Value
Cells(C, 11).Value = CPF.Value
Cells(C, 12).Value = ComboBox3.Value
Cells(C, 13).Value = ComboBox1.Value
VApelido = frmApeCli.Value
VNome = frmNomeCli.Value
Sheets("MODELO").Select
Sheets("MODELO").Copy Before:=Sheets("TABELAS")
Sheets("MODELO (2)").Select
Cells(2, 1).Value = VApelido
Cells(2, 2).Value = VNome
ActiveSheet.Name = VApelido
frmApeCli.Value = ""
frmNomeCli.Value = ""
frmEndCli.Value = ""
frmBaiCli.Value = ""
frmCepCli.Value = ""
frmCidCli.Value = ""
frmTelCli.Value = ""
frmCelCli.Value = ""
frmMailCli.Value = ""
frmCnpjCli.Value = ""
NoProc:
End Sub
Private Sub Label10_Click()
End Sub
Private Sub Label11_Click()
End Sub
Private Sub Label12_Click()
End Sub
Private Sub Label15_Click()
End Sub
Private Sub Label16_Click()
End Sub
Private Sub Label18_Click()
End Sub
Private Sub Label19_Click()
End Sub
Private Sub Label23_Click()
End Sub
Private Sub Label9_Click()
End Sub
Private Sub UserForm_Initialize()
Sheets("TABELAS").Select
'situacao'
C1 = Range("A2").End(xlDown).Row
ComboBox1.RowSource = "TABELAS!A2:A" & C1
'ESTADOS'
C2 = Range("B2").End(xlDown).Row
ComboBox2.RowSource = "TABELAS!B2:B" & C2
'grupos'
C3 = Range("C2").End(xlDown).Row
ComboBox3.RowSource = "TABELAS!C2:C" & C3
Sheets("CADCLI").Select
End Sub
Re: Função CORRESP não funciona com critério "-1" (maior que
Enviado: 30 Mar 2017 às 20:27
por Estevaoba
Boa noite.
Não sei se entendi bem a sua necessidade.
Em todo caso, segue minha contribuição.
Re: Função CORRESP não funciona com critério "-1" (maior que
Enviado: 05 Abr 2017 às 08:50
por rogerpenna
Obrigado a todos, na verdade aparentemente a função original, com critério "1" atendia minha necessidade e achava o último número menor que X e não o primeiro....