Notifications
Clear all

Loteria buscar Dezena a direita de palavra especifica

46 Posts
6 Usuários
0 Reactions
7,071 Visualizações
(@xman2000)
Posts: 178
Estimable Member
Topic starter
 

Olá Colegas!
assunto: buscar Dezena a direita de palavra especifica
errei o local do topico, podem mover pra seçao de formulas.
quero a principio uma formula, mas também ia precisar depois de um vba pra colocar num botão que já está até na planilha.

estou pegando os valores sorteados na loteria desse trecho.
Gostaria de uma formula para pegar o valor da primeira dezena sorteada (49), a partir da palavra 'num_sorteio', ou seja, Onze caracteres à direita depois da palavra 'num_sorteio', já incluida a 'aspa' final da palvara 'num_sorteio'.
essa formula é para ser colocada nas celulas A5 ate F5, referentes a cada uma das 6 dezenas sorteadas.
grato.

segue abaixo o trecho referido do qual sera extraído os valores.
--------------------------------------------------------------------------------
"1703|3.186.292,13|<span class="num_sorteio"><ul><li>49</li><li>03</li><li>35</li><li>39</li><li>23</li><li>26</li></ul></span>"

 
Postado : 10/05/2015 7:21 pm
(@jwlima)
Posts: 2
New Member
 

Ola, bom peguei a sua planilha e acho que consegui fazer o que você deseja, de duas maneiras diferentes, usando combinações de funções "se", "ext.texto" e "procurar"...
No entanto achei melhor usar como caracteres de procura duas informações diferentes apresentadas em casa solução.
Na primeira achei mais conveniente utilizar a Sequencia "<li>" visto que é um fato que se repete antes de cada dezena, como referencia e deu certo apesar da formula ficar enorme... mas acredito este pode ser modificado para o texto como você deseja com algumas alterações.
Na segunda versão uso uma formula para a primeira dezena e busco as dezenas seguintes, usando a mesma sequencia de funções "se", "ext.texto" e "procurar" porem em uma versão mesmo complicada e tomando como referência as dezenas exatamente anterior a dezena procurada, esta também pode ser alterada para o texto 'num_sorteio' com mais facilidade que da primeira versão.

duvidas é só perguntar.

 
Postado : 13/05/2015 2:31 pm
(@xman2000)
Posts: 178
Estimable Member
Topic starter
 

Olá, JWLIma
Ótima sua formula, funcionou, muito grato! E não ficou grande não.
mas eu preciso que ela calcule sozinha, automaticamente, a quantidade de caracteres entre a palavra buscada ("num_sorteio" ou "sorteio") e o primeiro valor numerico sorteado, porque essa quantidade pode variar por causa de mudanças no site.
Quero usar o COL em vez de LIN, mas pode ser qualquer um dos dois.

veja como eu alterei a sua formula (preciso pegar o "16" automatico) :

"=SE(A$4="1aDezena";EXT.TEXTO($A$1;PROCURAR("sorteio";$A$1;1)+COL()+16;2))"

.
mas ainda quero tentar pegar conforme abaixo:
Eu já consegui a formula de pegar a informação pelo Gilmar/ gtsalikis, mas quero melhora-la para que “pegue tudo direto”, pra não ter de contar mentalmente.
Usando como referencia a palavra "num_sorteio".
.
TEXTO NA CELULA A1:
‘1703|3.186.292,13|<span class="num_sorteio"><ul><li>49</li><li>03</li><li>35</li><li>39</li><li>23</li><li>26</li></ul”
.
Formula atual na CELULA A8, EXEMPLO:
"=EXT.TEXTO($A$1;LOCALIZAR("num_sorteio";$A$1)+19(Pegar este valor 19)+(COL()*2);2)"
..
creio que só preciso do seguinte:
uma função pra pegar o numero de caracteres (19) entre a palavra usada pra buscar (num_sorteio) e a primeira dezena (numero 49) sorteada.
.
então, talvez seja melhor uma função pra encontrar o primeiro valor numerico (1a Dezena sorteada) que vem depois da palavra buscada (num_sorteio) (OBS: não é o valor minimo, é o primeiro numerico).
.
O problema na formula abaixo, é que não há como saber previamente a quantidade de caracteres iniciais, ela é variável a formula nao "pega" isso, nela funciona porque nós é que contamos "manualmente" e colocamos.
.
Creio que precisa incluir a função "NÚM.CARACT", por exemplo:

"EXT.TEXTO + NÚM.CARACT + LOCALIZAR + COL"
.
ou então
.
"EXT.TEXTO + LOCALIZAR + NÚM.CARACT + COL"
.
No exemplo abaixo, as quantidades de caracteres destacadas (10 e 19) com a palavra "este" na primeira formula e na que alterei pra ficar direta, cuja quantidade eu desejo buscar automaticamente:
.
TEXTO EM A1:
"1703|3.186.292,13|<span class="num_sorteio"><ul><li>49</li><li>03</li><li>35</li><li>39</li><li>23</li><li>26</li>
.
FORMULAS
.
"=EXT.TEXTO($A$1;LOCALIZAR("num_sorteio";$A$1)+10(Pegar este valor 10)+(COL()*2);2)"
"=EXT.TEXTO($A$1;LOCALIZAR("num_sorteio";$A$1)+19(Pegar este valor 19)+(COL()*2);2)"
.
uma ideia é juntar essa formula acima mais a formula abaixo (Num_Caract e Localizar):
.
"=DIREITA(A1;NÚM.CARACT(A1)-LOCALIZAR("@"A1))"

eu achei um exemplo do usuario ISSAMU, e alterei pra reduzir o tamanho, mas continua com a mesma deficiencia para o que preciso, pegar o valor "53" automaticamente.

segue a formula do ISSAMU alterada:

"=EXT.TEXTO(A1;ESCOLHER(CORRESP(MÍNIMO(SE(ÉERROS(LOCALIZAR({"sorteio"};A1;1));"";LOCALIZAR({"sorteio"};A1;1)));SE(ÉERROS(LOCALIZAR({"sorteio"};A1;1));"";LOCALIZAR({"sorteio"};A1;1));0);53);2)"

 
Postado : 13/05/2015 4:27 pm
(@luizhcosta)
Posts: 420
Honorable Member
 

Olá,

Este post está bem movimentado. Gosto de VBA e gosto de fórmulas, acho que são fundamentais no excel, mas tem um outro ingrediente muito interessante e importante também, não apenas no excel mas em tudo que nos cerca...improviso!

Segue um exemplo do meu improviso, e espero que alguém consiga operacionalizar em forma de código ou fórmula. O texto abaixo complementa o que pode ser visto na planilha em anexo. pode não ser uma solução, mas será mais uma a ser considerada.

Explicações:

1 - refere-se a URL contendo as dezenas sorteadas.

2 - refere-se ao números de caracteres da URL.

3 - usamos como parãmetros a palavra "num_sorteio" para balizar a busca dos números sorteados.

4 - busca-se a posição do parãmetro na URL.

5 - extrai da URL o parãmetro com as dezenas sorteadas.

6 - usa-se a função "numeros" para separar as dezenas do texto e caracteres.

7, 8, 9, 10, 11 e 12 - extrai-se os números individualmente.

Boa sorte!

 
Postado : 14/05/2015 7:10 am
(@xman2000)
Posts: 178
Estimable Member
Topic starter
 

Olá luizhcosta!
agradeço de verdade seu empenho.
aproveito pra ressaltar que eu preciso que a formula para pegar a 1aDezena sorteada, ou seja, primeiro valor numerico depois da palavra buscada, essa formula precisa ser única, inteira, ou seja, nao ser fragmentada em celulas separadas.

a situação é que a quantidade de caracteres entre a palavra buscada "num_sorteio" pode variar em cada vez que a Caixa Economica atualizar o site, por isso, preciso que esse calculo desses caracteres seja automático.

ou seja, preciso que a formula seja única e que ela além de contar a quantidade de caracteres entre a palavra busca e o primeiro valor numerico, que ela use esse valor pra executar um calculo que resultara na primeira dezena sorteada.

aí é repetir o processo da 1aDezena até a 2aDezena sorteada, e repetir, até a 6aDezena.

imagine a seguinte situação, no momento nós enxergamos o link e sabemos pelos olhos quantos caracteres existem entre os valores, mas, a formula uma vez colocada, ficaria engessada e se o site mudar, dará errado. A única maneira da formula dar certo todas as vezes que o site mudar é ela conseguir sozinha saber a distancia entre as palavras e usar essa valor pra buscar o valor final desejado, que em alguns casos serão as dezenas sorteadas, mas que pode ser também outras informações como a data do sorteio, o valor do premio, etc.

talvez tenha de ser uma formula matricial.

no arquivo exemplo do usuario ISSAMU do meu post anterior ele faz essa coisa da formula unica, mas coloca o valor variavel de forma manual. Mas veja ele e vai entender a questao da formula única.

se quiser continuar tentando vou ficar grato.
abraço.

 
Postado : 14/05/2015 9:08 pm
(@xman2000)
Posts: 178
Estimable Member
Topic starter
 

Resposta a uma pergunta do JWLIMA,
preciso de uma formula que pegue a 1aDezena e que possa servir pra pegar as proximas dezenas também, sendo que irei juntar tudo em uma formula só, mas uma vez pegando a 1aDezena creio que o método será o mesmo para as demais.

talvez tenha de ser uma formula matricial.
veja no meu ultimo post de hoje no tópico, eu explico melhor.

o XdaQuestão é não precisarmos colocar manualmente um valor pra distancia entre a palavra buscada "num_sorteio" e a primeira dezena, a formula achar esse valor sozinha e efetuar o calculo necessario sozinha pra pegar a dezena. O site pode mudar e essa distancia variar, e do jeito que quero, eu nao teria que ficar atualizando, mudando valores, a formula iria funcionar sempre correta sozinha.

se a formula consegue saber a distancia em caracteres da palavra buscada para a 1aDezena, então também saberá entrea a 1aDezena e a 2aDezena e daí por diante.

eu vou testar uma formula matricial que tenho do meu sistema de agendamento, talvez ajude. A questão foi muito parecida.

o que me motiva nessa questão é que estou tentando fazer uma tecnologia mais automatizada e que evita erros, pois "manualmente" eu já consegui de diversas formas.

creio que essa tecnologia vai servir pra outros casos complexos, como já aconteceu comigo antes no sistema de Agendamento.

estou totalmente aberto a ajuda e perguntas,
abraço.
XMan2000.

 
Postado : 14/05/2015 9:24 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Estou vendo várias pessoas tentando ajudar, mas parece que sem sucesso.

Espero que não ignore dessa vez.

Fiz 2 fórmulas pra vc:

A primeira, é a mesma que eu já tinha feito antes, a mesma que usei também em VBA. Deve resolver.

A segunda é matricial, é mais poderosa, porém, é bem mais complexa e pesada, pois avalia cada caractere individuamente. Use-a apenas em caso de real necessidade

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 14/05/2015 10:40 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Todos sabem que meu forte não são formulas, mas me arrisquei a dar um palpite levando em consideração outros parâmetros, ou seja não pelo termo "num_sorteio" e sim pela posição do primeiro Caracter > na sequência "1703|3.186.292,13|<span class="num_sorteio"><ul><li>49"..... que é representado na função CARACT pelo numero 62 da Tabela ASCII.
E se tivermos qualquer alteração na quantidade de caractres antes do primeiro Caracter > o resultado será sempre o mesmo.

A formula ficou assim, com a ajuda da formula que já haviam postado, e considerando esta equação (COL()*2) referente a Coluna :
Primeiro para encontrar a qde numerica até o Primeiro Caracter > : =LOCALIZAR(CARACT(62);A1) sendo igual a 44
1ª dezena Col A: =EXT.TEXTO($A$1;LOCALIZAR(CARACT(62);$A$1)+7+(COL()*2);2)
2ª dezena Col A: =EXT.TEXTO($A$1;LOCALIZAR(CARACT(62);$A$1)+16+(COL()*2);2)
3ª dezena Col A: =EXT.TEXTO($A$1;LOCALIZAR(CARACT(62);$A$1)+25+(COL()*2);2)
4ª dezena Col A: =EXT.TEXTO($A$1;LOCALIZAR(CARACT(62);$A$1)+34+(COL()*2);2)
5ª dezena Col A: =EXT.TEXTO($A$1;LOCALIZAR(CARACT(62);$A$1)+43+(COL()*2);2)
6ª dezena Col A: =EXT.TEXTO($A$1;LOCALIZAR(CARACT(62);$A$1)+52+(COL()*2);2)

Os numeros fixos : 7 - 16 - 25 - 34 - 43 - 52 são a qde de caracteres a partir do primeiro caracter citado acima levando em conta que as formulas estejam todas na Linha A e Coluna 1, mas no modelo tem resultado em coluna e linhas, não vi todos os exemplos anexados, só este último do do Gilmar e posso estar entendo errado, pois entendi que poderá ter alterações a partir do inicio até a primeira dezena, ou seja antes deste caracter, se for isto acredito que estas formulas atenderão, se não fica mais uma dica.

Não sei se me fiz entender, então segue o modelo, na mesma tem uma explicação mais detalhada.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 15/05/2015 12:25 am
(@luizhcosta)
Posts: 420
Honorable Member
 

XMAN2000,

Bom dia !

É sempre bom o exercício da busca de uma solução aqui. Quem posta uma dúvida beneficia a si próprio e a centenas de outros usuários. Eu mesmo já me beneficiei de outros posts que tinha alguma semelhnaça com uma dúvida.

Vejo o interesse do Mauro Coutinho e de muitos outros. A verdade é que todos gostam muito de excel. Quanto as várias tentativas de solução, acredito que se chegará a um resultado final, o "RESOLVIDO".

Quanto a minha postagem, o conjunto da obra não é fixo. Ele é ajustável ao cumprimento da URL que for inserida na célula A1. Ainda, o resultado fragmentado é devido a função "numero" que extrai todos os números unidos. Se você analisar bem a URL, existem 3 partes;

1 - Uma informação antes da palavra "num_sorteio". Isso é excluído na primeira parte da fórmula que busca a palavra "num_sorteio".
2 - A palavra "num_sorteio" passa a ser o primeiro ponto de partida.
3 - E o restante, que é composto de textos, caracteres e números. Quanto aos números, eles são a nossa razão de busca.

Enxergando assim, teremos um padrão na URL e esse padrão é interpretado e analisado pelas formas que expus.

Mas você é quem dará a palavra final.

Boa sorte.

 
Postado : 15/05/2015 6:25 am
(@xman2000)
Posts: 178
Estimable Member
Topic starter
 

Olá Colegas!um ótimo dia produtivo pra todos!

vou estudar com muita calma as propostas do Gilmar e do Mauro Coutinho, e vou rever as propostas anteriores tambem.
podem ter certeza de que se eu encontrar a solução irei compartilhar.

esse caso está mais complicado porque existem numeros no começo do texto e o numero desejado está "no meio" do texto, depois de uma palavra que fica depois desses primeiros numeros.
é praticamente um algorítimo.

entendam que nós não veremos o texto que possui os valores desejados, não saberemos quantos caracteres existirão entre a palavra de referencia e a primeira dezena sorteada, nem depois de quantos caracteres vem a palavra de referencia “num_sorteio”, essa quantidade de caracteres pode mudar, por causa de alterações no site ou variação no valor do premio, de milhares de Reais pra Milhoes por exemplo.

Já que não podemos ver o texto, a formula “farejará” para nós essa posição da palavra de referencia “num_sorteio” e a partir dela, encontrará a posição da primeira dezena sorteada. Daí, acho que é só repetir o processo pra encontrar as próximas dezenas.
Todo esse trabalho é pra fazer tudo em uma única formula e pra não ter de ficar alterando a formula toda vez que houver alteraçãoes no texto, no site, alterações nos valores e nas quantidades de caracteres entre um valor e outro.
Como disse, vou labutar em cima das propostas dos colegas o dia inteiro e só volto quando entender tudo.

Enquanto isso, quem ainda não viu os arquivos anexos que postei, se tiver interesse, dêem uma olhada com calma que são interessantes as mudanças que fiz, irão entender melhor.
Grato e abraço a todos.

 
Postado : 15/05/2015 8:37 am
(@xman2000)
Posts: 178
Estimable Member
Topic starter
 

Olá Gilmar/ gtsalikis!
sua formula matricial parece que funciona! É nessa direção da matricial mesmo e não na do substituir.

Mas ficou muito complexa e extensa. Não a entendi completamente, então, não sei se é possível simplificar mais, mas acho que sim, pois na do meu sistema de agendamento eu consegui.

Gostaria que voce simplificasse pra ficar parecida com as formulas abaixo, inclusive uma delas é sua:

Trabalhando na celula "A6" no arquivo “FormulaRetornaPrimeiroNumero-v4_GT4”:

"="EXT.TEXTO($A$1;LOCALIZAR("num_sorteio";$A$1)+19+(COL()*2);2)"
"=SE(A$4="1aDezena";EXT.TEXTO($A$1;PROCURAR("sorteio";$A$1;1)+COL()+16;2))"

Preciso que a formula pegue o "+19" ou o "+16" dessas formulas Automaticamente

A formula em A6 já funciona, mas ficou muito compexa e grande. Gostaria de simplificar esse formula em "A6" para ficar parecida com as seguintes formulas acima.

Para comparação, segue minha solução matricial do Sistema de Agendamento:
ÍNDICE(Tabela;MENOR(SE((Priorid1=1)*(EntradaH1<=Dia1Min1)*(SaidaH1>=Dia1Max1);LIN(Priorid1)-1);1);1)

 
Postado : 15/05/2015 10:23 am
(@xman2000)
Posts: 178
Estimable Member
Topic starter
 

Olá Gilmar!
ressaltando que parece que sua formula é do jeito que eu quero, pega o numero de caracteres automaticamente, apenas é muito complexa e extensa, pensando eu que há como reduzir.

Olá Mauro Coutinho,

Fico grato pelo seu esforço, a formula que desejo é na direção da matricial que o Gilmar fez.
Vejam os anexos do meu post anterior, trabalhando na celula "A6" no arquivo “FormulaRetornaPrimeiroNumero-v4_GT4”.

Abraço a todos.

 
Postado : 15/05/2015 10:48 am
(@xman2000)
Posts: 178
Estimable Member
Topic starter
 

Olá Colegas!
consegui! a formula ficou grande mas é simples e parece ser leve, não é matricial.
vou postar aqui parte da formula, e nos arquivos anexos a solução completa na celula "F20", contemplando dezenas de "0" ate "90".

a solução, além do Gilmar, veio deste link:
" https://br.answers.yahoo.com/question/index?qid=20121202055621AAXVmFZ"

envio um arquivo do Word também com as formulas etapa por etapa.
deixei o arquivo "sujo' pra verem que deu trabalho, e seguirem os passos. As soluções estão em vermelho no arquivo.
abraço a todos! valeu o empenho!
XMan2000.
.
SEERRO(EXT.TEXTO(A3;MÍNIMO(LOCALIZAR("00";A3;PROCURAR("maio";A3;1)));2)+0;
SEERRO(EXT.TEXTO(A3;MÍNIMO(LOCALIZAR("0";A3;PROCURAR("maio";A3;1)));2)+0;

SEERRO(EXT.TEXTO(A3;MÍNIMO(LOCALIZAR("01";A3;PROCURAR("maio";A3;1)));2)+0;
SEERRO(EXT.TEXTO(A3;MÍNIMO(LOCALIZAR("1";A3;PROCURAR("maio";A3;1)));2)+0;
SEERRO(EXT.TEXTO(A3;MÍNIMO(LOCALIZAR("10";A3;PROCURAR("maio";A3;1)));2)+0;

 
Postado : 16/05/2015 7:13 pm
(@xman2000)
Posts: 178
Estimable Member
Topic starter
 

Essa formula acima que postei ainda não está boa para pegar todas as dezenas sorteadas.
dá problema pra pegar uma segunda dezena cujo primeiro algarismo já tenha vindo anteriormente.
por exemplo: se a formula já pegou o 2, dará problema pra pegar o 20.
.
e já constatei que precisa apagar a seguinte linha da formula que tem o zero sozinho:
"SEERRO(EXT.TEXTO(A3;MÍNIMO(LOCALIZAR("0";A3;PROCURAR("maio";A3;1)));2)+0;"
.
eu tambem vou trabalhar na formula matricial que o Gilmar fez, tentando simplifica-la.
até mais.

 
Postado : 17/05/2015 12:27 pm
(@xman2000)
Posts: 178
Estimable Member
Topic starter
 

Olá Gilmar e colegas!

Gilmar, preciso muito da sua ajuda.
consegui uma formula baseada num post do Yahoo que funciona, mas, apenas no texto com espaços, no texto cheio de sinais sem espaço do jeito que vem do site da Caixa Economica nao funciona.

as suas formulas funcionam sem os espaços. E são menores.
por isso, preciso que voce me explique como chegou nelas ou pelo menos, como obteve aquele número variável que é o que procuro pra automatizar a formula.

eu nao entendi esse final da formula: "+10+(COL()*2);2)"
segue abaixo o número destacado.

FORMULAS
SUA FORMULA QUE PUXA O TEXTO DE A2:
"=EXT.TEXTO($A$1;LOCALIZAR("num_sorteio";$A$1)+10(como chegou em 10 ?? )+(COL()*2);2)"

formula alterada abaixo pra ser mais direta que puxa o texto de A1:
"EXT.TEXTO($A$1;LOCALIZAR("num_sorteio";$A$1)+20+(COL()*1);2)"

voce sempre consegue fazer as formulas do jeito que preciso.
Estou aprendendo muito e logo, logo nao vou mais precisar que me expliquem as formulas, mas desta vez ainda preciso.
grato.

 
Postado : 20/05/2015 6:27 pm
(@xman2000)
Posts: 178
Estimable Member
Topic starter
 

Olá Gilmar,

sendo mais claro na dúvida, como voce chegou em "+10" ???

é esse valor que preciso pegar automaticamente, ou pelo menos saber sempre qual é o valor.

 
Postado : 20/05/2015 6:42 pm
Página 3 / 4