Ir ao conteúdo

CONVERSÃO NO EXCEL


Welker Silva

Posts recomendados

Postado

Boa tarde

 

Primeiramente gostaria de agradecer eventual ajuda, pois conheci o trabalho de vocês hoje e achei simplesmente magnífico. Sou um tanto quanto leigo no quesito informática, sou advogado e faço cálculos trabalhista, utilizando o excel.

 

Pois bem, vi em um tópico de vocês como digitar as horas sem necessidade de utilizar dois pontos (:) e achei isso sensacional, pois faz com que ganhe um tempo gigantesco

 

Segui as instruções de vocês e deu tudo certo

 

PERSONALIZAR CÉLULAS > ##":"##

 

Contudo, agora surgiu um problema que não sei como resolver: preciso converter as horas "normais" em horas decimais

 

Antes, quando deixava a célula como hora, utiliza a seguinte fórmula: =HORA(A1)+MINUTO(A1)/60

 

Entretanto, agora com a célula personalizada não consigo fazer a conversão

 

Existe alguma fórmula para isso ? (converter as horas digitadas sem os dois pontos para números decimais

 

Exemplo:

 

Digito 830 na célula > ela me fornece o horário  (8:30)..gostaria de converter essa hora para números decimais (8,50)

 

Desde já muito obrigado

Postado

@osvaldomp

 

Deu certo sua fórmula, muitíssimo obrigado. Contudo, notei um outro probleminha

Geralmente trabalho com horas da seguinte forma

 

entrada  saída   entrada  saída     total

      A          B          C          D          E

08:31 11:14 12:33 17:42 07:92

 

Para apurar o tanto que o funcionário trabalhou, estou usando a seguinte fórmula:

 

=(D-C)+(B-A)

 

O correto seria que me desse um total de 07:52 horas trabalhadas, contudo, conforme copiado acima, me deu um total de 07:92.

O Excel não está calculando como horas

 

Lembrando que as células das colunas de A a E estão formatadas da seguinte forma: 0#":"00;

 

Agradeço sua ajuda

Postado

 

... Contudo, notei um outro probleminha

Geralmente trabalho com horas da seguinte forma

 

entrada  saída   entrada  saída     total

      A          B          C          D          E

08:31 11:14 12:33 17:42 07:92 << se esta apresentação dos valores é resultado da formatação que existe na célula (0#":"00) então o conteúdo da célula não é hora e sim é número exibido no formato de hh:mm. Por exemplo, selecione a célula que exibe 08:31 e veja que na Barra de fórmulas os dois pontos não existem na célula, o seu conteúdo é o número 831.

 

 

@welker

 

Se você precisa efetuar cálculos com os valores sugiro que experimente esta solução utilizando macro.

Instale o código abaixo no módulo da planilha, assim:

1. copie o código daqui

2. clique com o direito na guia da planilha de interesse e escolha 'Exibir código'

3. cole o código na janela em branco que vai se abrir

4. feito! 'Alt+Q' para retornar para a planilha e testar

 

Private Sub Worksheet_Change(ByVal Target As Range)  If Target.Count > 1 Then Exit Sub  If Target.Value = "" Or Target.Column > 4 Then Exit Sub    Application.EnableEvents = False      Select Case Len(Target.Value)      Case 1: Target.Value = "00:0" & Target.Value      Case 2: Target.Value = "00:" & Target.Value      Case Else: Target.Value = Left(Target.Value, Len(Target.Value) - 2) _        & ":" & Right(Target.Value, 2)      End Select    Application.EnableEvents = TrueEnd Sub

funcionamento - ao inserir números nas colunas A:D o código os tranformará em hh:mm; exemplos:

inserindo    resultará

      6             00:06

    26             00:26

  826             08:26

1826             18:26

Os valores resultantes serão entendidos como horas pelo Excel.

Para converter o total de horas trabalhadas (em E1) em hora decimal:

=(E1-INT(E1))*24

 

Postado

@osvaldomp

 

Deu certo Osvaldo, agora, sem querer abusar mais da sua boa vontade, caso necessite alterar as colunas em que vou necessitar disso, tem uma forma fácil de alguém totalmente leigo quanto eu nisso alterar ?

 

Obrigado

Postado

O comando que limita as colunas nas quais o código atua é este em vermelho:

 

If Target.Value = "" Or Target.Column > 4 Then Exit Sub

 

Ou seja, se a célula onde ocorrer a inserção do número estiver à direita da coluna 4, que corresponde à coluna "D", então o código não atuará.

 

Por exemplo, se quiser que o código atue somente nas colunas "F:I", o comando ficaria:

If Target.Value = "" Or Target.Column < 6 Or Target.Column > 9 Then Exit Sub

 

Retorne se tiver dificuldade.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...