Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Dúvidas sobre cálculos, funções simples e aninhadas, fórmulas matriciais, etc.
  • Avatar do usuário
#21935
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?
#21937
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?
#21939
Veja se atende sua necessidade.
Você não está autorizado a ver ou baixar esse anexo.
Por mateusSilva
#21942
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
Imagem
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
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord