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
  • Avatar do usuário
Por Susana778
Posts
#20852
alguém me pode ajudar com o seguinte problema? Só me apetece bater com a cabeça contra a parede. Já perdi uma semana nisto. Envio anexo como exemplo.

COMO DEVOLVER A ÚLTIMA DATA CORRESPONDENTE AO VALOR APROXIMADO DE F3, SENDO QUE ESSA DATA DEVE SER INFERIOR A F2?
NO EXEMPLO ACIMA, A DATA 15/1/2016 ESTÁ CORRETA, PORQUE É INFERIOR AO DIA 21, CORRESPONDE A 240 E FOI A ÚLTIMA VEZ QUE ESSE VALOR FOI ATINGIDO.

DE 7 PARA 8 JANEIRO O VALOR DA COLUNA B APROXIMOU-SE AINDA MAS O QUE PRETENDO É SABER A ÚLTIMA VEZ EM QUE O VALOR PRETENDIDO FOI ALCANÇADO

O EXCEL PRECISA ENCONTRAR O VALOR MAIS PRÓXIMO DE F3 NA COLUNA B, VERIFICAR SE É ANTERIOR À DATA DE F2, E NESSE CASO DEVOLVER A DATA CORRESPONDENTE NA COLUNA A. MAS A ÚLTIMA DATA EM QUE ESSA APROXIMAÇÃO OU VALOR ALCANÇADO OCORREU. PORQUE OS VALORES NO PASSADO ALCANÇARAM VÁRIAS VEZES O VALOR PRETENDIDO. SÓ PRECISO DE SABER A ÚLTIMA VEZ QUE ISSO OCORREU.

PRECISO DE AJUDA, MAS NÃO QUERO MACROS. E DE PREFERÂNCIA, SEM FÓRMULAS MATRIZ, PORQUE A MINHA COLUNA POSSUI MAIS DE 50 000 LINHAS DE DADOS.

ALGUM HERÓI CAPAZ DE RESOLVER ISTO?
Você não está autorizado a ver ou baixar esse anexo.
Por Susana778
Posts
#20854
Peço desculpa por ter colocado o post 2 vezes seguidas. Devo ter clicado 2 vezes e não me apercebi.
Ainda para esclarecer mais sobre o meu problema, a aproximação a procurar não é relevante. Porque o valor pretendido, desde que se encontre no range de do valor atual e valor anterior, o requisito está preenchido. Apenas preciso saber a última data em que isso ocorreu.

Obrigado e aguardo desesperadamente pela solução deste problema

Susana
Avatar do usuário
Por mdiego
Posts Avatar
#20855
Boa tarde, Susana!

Seria isso?

Não entendi muito bem, mas acredito que isso já ajuda em algo.

Sds,
Você não está autorizado a ver ou baixar esse anexo.
Por Susana778
Posts
#20857
Não pode ser matricial porque a minha folha tem mais de 50 000 linhas, sempre em atualização (ficheiro csv externo). Portanto, uma fórmula matricial teria de fazer referência às colunas inteiras, por ex. A:A ou B:B e isso ia tornar a folha extremamente lenta.

O problema deve ser simples de resolver, eu é que não domino bem o excel.
Por Susana778
Posts
#20860
Mdiego,
Agradeço a rapidez com que se disponibilizou para a ajudar. Nem tinha reparado no seu anexo. Calcula o que pretendo, mas não posso usar matricial pela razão que expliquei. Vc não conhece outra forma de resolver o problema?
Obrigado
Susana
Avatar do usuário
Por mdiego
Posts Avatar
#20869
Fiz um teste aqui usando PROC, mas os dados da coluna precisam está classificado em ordem decrescente.

Bom, dê uma olhada!

Sds,
Você não está autorizado a ver ou baixar esse anexo.
Por babdallas
#20870
Veja se atende.
Você não está autorizado a ver ou baixar esse anexo.
Por Susana778
Posts
#20871
Babdallas: O que você fez está muito bom mas não posso ter colunas auxiliares. Vc só precisa descobrir como determinar a última data e prontos. Quanto ao limite que você estabeleceu em L4 não é preciso. Veja, os valores da coluna B referem-se a preços de um mercádo. E os preços sobem e descem, passando pelo valor pretendido várias vezes. Só preciso de saber a última vez que isso aconteceu. Você está perto. Mas pro favor, consegue por tudo numa única fórmula? Sem ser matricial.

Mdiego: O ficheiro que você postou é idêntico ao 1º. Não consigo ver a sua nova fórmula com proc.

Vocês são capazes !
Por Susana778
Posts
#20876
Envio um exemplo com o problema colocado de forma mais esclarecedora.

A COLUNA B CONTÉM O PREÇO DO MERCADO NO FIM DE CADA DIA. EM F4 COLOCO UM PREÇO QUALQUER, E PRECISO SABER A ÚLTIMA VEZ OU ÚLTIMA DATA QUE O MERCADO ATINGIU ESSE PREÇO, DESDE QUE ESSA DATA SEJA INFERIOR A F3.
O PREÇO VINHA A DESCER DESDE O DIA 1, E A 7 JANEIRO ENCERROU EM 211 (PORTANTO PASSOU POR 238).
A 15 JANEIRO O PREÇO ESTAVA A SUBIR E ENCERROU EM 249, PORTANTO PASSOU POR 238. FOI A ÚLTIMA VEZ QUE ATINGIU ESTE VALOR. E COMO 15 JANEIRO É INFERIOR A 21 JANEIRO, A RESPOSTA CORRETA É 15 JANEIRO.
CAROS AMIGOS, AGRADEÇO ETERNAMENTE A SOLUÇÃO PARA ESTE PROBLEMA: SEM FÓRMULAS MATRICIAIS, COLUNAS AUXILIARES OU VBA.

AS COLUNAS A E B DA MINHA FOLHA POSSUEM MAIS DE 50 000 LINHAS, SEMPRE A ATUALIZAR. PORTANTO, QUALQUER FÓRMULA DEVE PERMITIR FAZER REFERÊNCIA À COLUNA INTEIRA (A:A, B:B)
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por FelipeMGarcia
Avatar
#20881
Susana,

Seria algo parecido com o que fiz em amarelo?
Você não está autorizado a ver ou baixar esse anexo.
Por Susana778
Posts
#20883
FelipeMGarcia

O preço está correto, mas eu pretendo é a fórmula para encontrar a data 15 Janeiro, já que foi a última vez, antes da data limite, que o preço cruzou o valor pretendido

Susana
Avatar do usuário
Por FelipeMGarcia
Avatar
#20886
Susana,

Eu achei a data de 07/01/2016 que tem o valor de 239, é isso?
Você não está autorizado a ver ou baixar esse anexo.
Por Susana778
Posts
#20888
FelipeMGarcia,

Como referi nos posts anteriores e exemplo, eu preciso encontrar a "última data" que o valor pretendido foi alcançado e essa última data não pode ser superior à data limite indicada em F2. No seu exemplo, 07/1/2016 corresponde à penúltima vez. A última vez que o valor foi alcançado / ultrapassado foi a 15 Janeiro e essa é que é a resposta correta. Você anda perto. Se possível, veja o "EXEMPLO3.xlsx" onde não restam dúvidas do que preciso. Entretanto, estou agradecida por você estar a acompanhar o assunto
Avatar do usuário
Por FelipeMGarcia
Avatar
#20895
Susana, tá difícil kkkkk....

Toda fórmula que pensei em usar retornar o dia 14/01 e não o dia 15/01, mas vou continuar tentando.
Por Susana778
Posts
#20900
FelipeMGarcia, que não seja por isso. Se a diferença for de apenas 1 linha (antes ou depois), serve o meu propósito. Quando puder, poste as alternativas para eu analisar, se faz favor.
Obrigado
Por babdallas
#20911
Na minha opinião, o fato de não querer colunas auxiliares ou fórmulas matriciais está na verdade aumentando a complexidade ao invés de diminuí-la. Para encontrar o que você quer, é necessário comparar cada célula com o valor anterior atendendo um dos critérios abaixo:
1) valor da célula anterior <= valor pretendido e valor da célula >= valor pretendido
2) valor da célula anterior >= valor pretendido e valor da célula <= valor pretendido
Está além da minha capacidade encontrar uma solução sem matricial ou colunas auxiliares para isso. Espero que alguém consiga. Sinto em não poder ajudá-la mais.
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