Ir ao conteúdo

Midori

Membro Pleno
  • Posts

    3.601
  • Cadastrado em

  • Última visita

Tudo que Midori postou

  1. Se a sua versão for compatível poderá usar a funcão PARALIN para apresentar o resultado. Aí apliquei a função DESLOC por causa da mescla da coluna B. =PARALIN(SE((D9:D44<>"")*(D9:D44<HOJE());DESLOC(B9:B44;-1;0);NÃO.DISP());3)
  2. O tratamento da divisão por zero também pode ser feito com SEERRO, p.ex, =SOMA(SEERRO(1/CONT.SE(A4:A13;A4:A13);0))
  3. Se a sua versão for compatível pode usar a fórmula ÚNICO como comentei ali, =CONT.VALORES(ÚNICO(A4:A13))
  4. Você pode passar a função ÚNICO com o range como argumento para CONT.VALORES. Assim vai excluir os repetidos da contagem. Para o exemplo de A4:A13 é 6 e não 5: =CONT.VALORES(ÚNICO(A4:A13)) Obs: Vi que alguns registros tem espaço no fim, assim o mesmo nome pode ficar como distinto se um tiver espaço e o outro não. Se não for possível evitar esses casos na tabela terá que tratar isso na fórmula.
  5. Cole na célula B6, veja se resolve. =PARALIN(SE(DESLOC(INDIRETO("Matriz!"&SEERRO(ENDEREÇO(CORRESP($B$3;Matriz!$B:$B;0);COL(Matriz!$B:$B));ENDEREÇO(CORRESP($B$3;Matriz!$I:$I;0);COL(Matriz!$I:$I))));2;0;5;5)=C4;{"LINGUA PORTUGUESA";"MATEMATICA";"CIENCIAS";"HISTORIA";"DESENHO"};NÃO.DISP());3;VERDADEIRO)
  6. Se tiver compatibilidade o excel vai encontrar quando digitar em qualquer célula =TOROW. No excel português deve ser =PARALIN.
  7. Peguei a Semana 1 como exemplo, veja se estes devem ser os resultados, Para isso usei a função TOROW que é compatível com versões mais recentes do Excel como a 365.
  8. O código fica assim, Sub MacroCodigo() Dim Palavra As String Dim Codigo As String Dim L As Integer Palavra = UCase(Trim([A1].Value)) For L = 1 To Len(Palavra) Codigo = Codigo & " " & Asc(Mid(Palavra, L, 1)) - Asc("A") + 1 Next L [A2].Value = LTrim(Codigo) End Sub
  9. Isso dá para fazer com fórmula. Se aplicar a função CÓDIGO você vai conseguir o código decimal da tabela ASCII. O valor da primeira letra da palavra CODIGO é 67, da segunda 79, etc. Dessa forma a posição da letra no alfabeto é esse valor menos 65 (código "A") mais 1, p.ex: =CÓDIGO("C") - CÓDIGO("A") + 1 Com macro é o mesmo método, o procedimento só tem que fazer o loop na palavra para pegar as letras.
  10. Para isso tem a função EXT.TEXTO. Passe a célula A1 para o primeiro parâmetro, a posição para o segundo e 1 para o último.
  11. Na planilha da saída, antes de efetuar o registro, sua macro terá que verificar se o produto já foi lançado. São duas possibilidades: Se não existe, cria o novo registro; Se existe, atualiza o total de quantidade vendida. Os únicos campos que a macro terá que tratar na Saída são da Descrição e Quant. Vendida. Os outros podem ter fórmula de busca e soma. Para isso sugiro a tabela nomeada: Inserir > Tabela. Assim a fórmula fica automática para novos registros.
  12. @RafaelaRios O que quer dizer com "baixa automática na saida do estoque"? Na planilha não tem nenhum lançamento. Nada preenchido. Se possível dê exemplos práticos com estoque e alguns lançamentos, especifique as abas e mostre o antes e depois como deve ficar.
  13. @Luigi Milleo Aquele erro é porque as suas declarações estão fora da seção Var e não por causa da versão. Ao abrir o programa nas duas versões verá como padrão as seções necessárias com os comentários.
  14. Talvez possa te ajudar quem usa as funções dax e conhece o outro formato que anexou.
  15. Faltou a planilha Geral que você mostrou no print.
  16. A seção da declaração é Var, p.ex, Algoritmo "area" Var raio, area : real
  17. Na tabela dos dados você pode fazer um sumif/somase para o total dos produtos lançados no caixa. Aí é só calcular a diferença da coluna com a quantidade do estoque.
  18. Outra forma com o mesmo conceito e sem a função Mod é com a aplicação do teorema da divisão, dividendo = quociente * divisor + resto Onde quociente é a parte inteira de dividendo/divisor. Portanto, resto = dividendo - dividendo/divisor * divisor A fórmula fica: =SE(MÊS(A1)-TRUNCAR(MÊS(A1)/2)*2;"SIM";"não")
  19. Para entender o enunciado deve saber que o triângulo retângulo tem três alturas: Os dois catetos e outro segmento que pode ser traçado do vértice oposto a hipotenusa até ela para formar um angulo de 90º graus. Considere esta figura referente a formação de três entradas/lados do seu código: a, b e c. O segmento h é uma das alturas. Essa o código não terá que tratar já que ela sempre será menor que qualquer lado. E isso é fácil ver na figura que se divide em dois triângulos retângulos onde a e b são hipotenusas e portanto sempre maiores que h. Por isso seu código só tem que pegar o segundo maior lado (o primeiro c é a hipotenusa da figura). Para classificar os valores, sem considerar eficiência computacional ou "melhores práticas", resolvi fazer as macros com o resultado do maior e menor entre dois. Assim por exemplo a hipotenusa será MAIOR(MAIOR(a, b), c). No teste para identificar o triângulo retângulo round funcionou bem. Há outras formas para isso, mas assim sem tanta precisão para as entradas com casas decimais 3 foi suficiente para meus testes, p.ex: Entre com os tres lados: 13 23 26.419 Catetos: 13.00 e 23.00 Hipotenusa: 26.42 Altura h: 11.32 Maior altura: 23.00 Area: 149.50 #include <stdio.h> #include <math.h> #define MAIOR(a, b) ((a) > (b) ? (a) : (b)) #define MENOR(a, b) ((a) < (b) ? (a) : (b)) int main(int argc, char* argv[]){ double a; double b; double c; printf("Entre com os tres lados: "); if(scanf("%lf %lf %lf", &a, &b, &c)){ if(a + b > c && a + c > b && b + c > a){ double altura = MAIOR(MAIOR(MENOR(a, b), MENOR(a, c)), MENOR(b, c)); double maior = MAIOR(MAIOR(a, b), c); double base = MENOR(MENOR(a, b), c); if(round(maior * maior) == round(altura * altura + base * base)){ printf( "Catetos: %.2lf e %.2lf\nHipotenusa: %.2lf\n" "Altura h: %.2lf\n" "Maior altura: %.2lf\n" "Area: %.2lf\n", base, altura, maior, base * altura/maior, altura, base*altura/2.0); }else{ puts("O triangulo não e retangulo"); } }else{ puts("não e possível formar um triangulo"); } } return 0; }
  20. Aí mostra que o arquivo está indisponível. Não dá para baixar.
  21. Sem ver com tentou fazer ou como ficou a fórmula não dá para saber onde errou.
  22. Sem anexar a planilha será difícil conseguir ajuda. Pode ser com dados fictícios.
  23. Onde tem A1 pode ser HOJE() e no lugar de F1 você pode colocar toda a outra fórmula para ficar tudo na mesma. E o Se pode ser mais simples, para o valor falso não precisa outro Se, é só deixar "NÃO".
  24. Se anexar o arquivo será mais fácil ajudar. Pode ser com dados fictícios. Obs: Arquivos com macro podem ser compactados para o fórum aceitar.
  25. Como ficou a fórmula na sua planilha? Dá para fazer tudo numa única célula.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...