- Este tópico contém 7 respostas, 4 utilizadores e foi actualizado pela última vez há 12 anos, 8 meses por Albino.
-
AutorArtigos
-
-
18 de Março de 2012 às 3:30 #1055AlbinoParticipante
olá.
estou com um prqueno grande problema, que é o seguinte:
necessito de colocar 40 funções se numa celula.
tentei a concatenação mas devolve.me um valor esquisito.
haverá forma de contornar este problema?a questão é que tenho de calcular umas percentagens, mas o calculo exige que se for deo fulano é x, se for do beltrano será y e ainda se for o ajudante do fulano será diferente do ajudante do beltrano.
as formulas criadas estão nas celulas p14 a p18 e a junção das mesmas seria para ficarem na celula k2.
espero ter sido claro
obrigado. -
18 de Março de 2012 às 15:12 #1831AnónimoInactivo
o meu impulso incial seria que você deveria segmentar a sua formula, por exemplo, aa estaria o resultado do primeiro grupo de 10 “se”, na ab a seguinte agrupação de 10 e assim sucessivamente; claro está que, com uma formula tão grande, a minha solução pessoal seria o vb – para está ou aquela solução seria necessario conhecer a planilha !!!! :whistle:
-
18 de Março de 2012 às 19:55 #1832jorgerodAdministrador
albino,
a função concatenar, tem o limite de 30 argumentos, o que corresponde a 30 condições, embora o operador de concatenação “&”, já não possua esse limite. o denominado “nested ifs”, no excel 2003 e anteriores, tem o limite de 7, embora, se não me engano, a partir do excel 2007, já seja para cima de 64.
no entanto, haverá soluções mais apropriadas…
não podes utilizar a função procv? apenas terias que ter uma tabela anterior, para conseguires o teu resultado:
exemplo: =procv(a1,b1:c10,2)
em que em a1, terias o x, y, z. etc… e na tabela b1:c10, terias na coluna b os x, os y, os z e na coluna c o valor da percentagem correspondente a cada um dos nomes…
claro, como disse o dutra, tens o vba, mas, para isso, tens que pôr aqui um exemplo da tua planilha, para te podermos ajudar.
fica bem e diz qq coisa.
-
20 de Março de 2012 às 3:15 #1830AlbinoParticipante
olá
vou tentar se consigo algo a função procv no entanto envio o ficheiro que ando a tentar criar.
agradecia uma apreciação/opinião, principalmente na folha2 onde pretendo criar formulário em vba.
obrigado.
CalculoOrdenado.zip -
21 de Março de 2012 às 9:11 #1834AnónimoInactivo
olá albino,
estive a ver o teu ficheiro e como só dei uma vista de olhos pareceu-me bastante confuso mas nada que não se resolva, deu para perceber que pretendes construir um formulário para calcular uma série de inputs e depois registar numa tabela os outputs.
esta é uma situação típica para utilizar a berd (base excel para registo de dados em excel) esta base é desenvolvida por mim há vários anos utilizo-a com muita frequência para desenvolver mini aplicações em excel que implicam a construção de formulários de registo de dados, com a vantagem que esses formulários devem ser construídos em folha de cálculo e não em vba, reparei que pretendias construir o form em vba e tentaste em excel, devo dizer-te que em vba é tudo muito mais complicado, pois dependeríamos de imenso código para fazer os cálculos e depois os registos.
com a berd toda a programação de base já está feita, só devemos construir o formulário segundo algumas regras e depois é só preencher as opções e definições para esse form e fica automaticamente adaptado para os procedimentos base fazerem o registo e consulta no formulário dos registos para trás , para a frente, ultimo, primeiro, etc.., é como um formulário em access mas em excel.
seria interessante desenvolver-mos este exercício utilizando a berd junto com o xlsworkbooksecuring 3d (sistema de licenciamento+controlo de utilizadores+matriz de protecção e visualização) e publicaríamos aqui no forum os resultados.
o que achas albino? tudo isto seria de borla!
entretanto se me quiseres contactar por mail (vg-excel-gest@hotmail.com) estou à disposição.
vg-excel-gest
victor gamboa -
21 de Março de 2012 às 10:12 #1835AnónimoInactivo
olá albino mais uma vez,
dei uma segunda vista de olhos ao ficheiro e reparei que distribuíste informação por várias tabelas que poderia estar toda numa só tabela e utilizar a função procv e talvez outras mais eficientes em vez de formulas condicionais.
este tipo de procedimento é muito comum nos utilizadores com pouca experiência em excel e causam imensos prejuízos nas empresas e instituições, é imperativo sabermos dispor a informação correctamente em tabelas quando se desenvolve uma folha de calc. e utilizarmos correctamente as funções apropriadas.
outro problema foi a distribuição completamente desordenada dessas tabelas deverias pelo menos tê-las alinhado na horizontal e em outra folha por forma, por exemplo, a alimenta-as com mais dados….
no entanto tiveste e muito bem a ideia de colocar a execução dos cálculos que tinhas na folha1 em formulário e baseaste-te num exemplo que surgiu há uns dias aqui no forum, exemplo que para adaptar não passaria de uma adaptação e poderia causar problemas, quando se registam dados automaticamente numa tabela deveremos ter a certeza que esses dados serão correctamente registados.
não te ofendas por dizer estas coisas, estamos todos aqui no forum para aprender e deve-mo-lo fazer da forma mais correcta, se não for assim não conseguimos evoluir.
então se aceitares o repto da minha mensagem anterior poderás aprender:
– como desenhar um formulário eficiente em excel.
– como organizar a informação correctamente em tabelas.
– como usar células, áreas ou formulas nomeadas e suas vantagens.
– usar as funções procv, corresp, se.erro, deslocamento etc.. as que forem necessárias para este caso
– criar campos de validação de alimentação automática.
– utilizar a matriz do xlsworkbooksecuring para proteger eficientemente as folhas e o livro e determinar opções de visualização
adequadas para cada folha.em resumo, como transformar um problema de automação de um procedimento de gestão em uma aplicação em excel correctamente construída indo de encontra às boas práticas, tendo a certeza que será segura, fiável e eficiente.
vg-excel-gest
victor gamboa -
22 de Março de 2012 às 2:41 #1836AlbinoParticipante
boas.
victor
agradeço a tua apreciação e comentários e, como referias, não me importo nada de poder-mos desenvolver o tal projecto.
tens de ter em atenção que sou principiante nestas lides.já agora e seguindo as indicações do jorgerod, elaborei uma folha nova para o meu proposito aplicando a função procv e outras.
ficou com melhor aspecto, no entanto a coisa trava sempre cada vez que quero aplicar instruções em vba.
no caso concreto queria criar uma macro que:
– verifique os campo a preencher e dar alerta para tal
– copiara informação para folha2
– apagar as entradas para ficar livre para a proxima e assim não haver erro de preenchimentoa macro que adaptei anexada ao commandbotton:
devolve um erro “run-time 424” object required
uma das vezes que funcionou colou 5 vezes a mesma informação na folha2private sub commandbutton1_click()
‘vericar preenchimento dos campos
dim r as range, cell as range
ary = array(range(“e3:e15”), range(“j7:j15”), range(“o7:o7”), range(“o11:o11”), range(“q13:q15”), (“x13:x15”))
for i = lbound(ary) to ubound(ary)
for each cell in ary(i)if cell.value = “” then
msgbox “preencha todos os campos.”, vbokonly, (“atenção”)
exit subend if
next
next
‘copiar para folha2
sheets(“folha1”).range(“ad3:as3”).copy
sheets(“folha2”).range(“a1048576”).end(xlup).offset(1).pastespecial xlpastevaluesapplication.cutcopymode = false
sheets(“folha1”).select‘apagar entradas
sheets(“folha1”).range (“e3”), range(“e5”), range(“e7”), (“e11”), range(“j11”), range(“j13”), range(“q13”), range(“x13”).select
clearcontents.selectend sub
obrigado
albino -
22 de Março de 2012 às 8:21 #1056AnónimoInactivo
bom dia albino,
para avançarmos para o projecto não necessitas ser expert, o que necessitas é de tomar atenção como é que vou resolver o teu problema para aprenderes mais um pouco, o que será necessário é que eu entenda em profundidade o que pretendes em termos de cálculos e layout do formulário.
quanto, por exemplo, a reprogramar o formulário para um novo registo a berd faz isso sem programação adicional.
se queres avançar para o projecto terás de esquecer os formulários que estavas a construir, ok.
verás como será mais fiável e dinâmico construir um formulário para a berd.
manda o segundo ficheiro que desenvolveste para ver.
vg-excel-gest
victor gamboa
-
-
AutorArtigos
- Tem de iniciar sessão para responder a este tópico.