Excel - preencha automaticamente uma linha com intervalo de datas que corresponda a um padrão específico

Excel - preencha automaticamente uma linha com intervalo de datas que corresponda a um padrão específico

Dada uma data de início específica (por exemplo, 11 de janeiro de 2012), desejo preencher uma linha no Excel automaticamente com um intervalo de datas que corresponda ao seguinte padrão para os dias (período de pagamento bimestral).

1. 11th - 25th
2. 26th - 10th

Claro, com datas reais em cada célula, incluindo mês e ano (não simplesmente repetindo os dois valores acima). O que estou procurando é uma maneira de inserir um ou dois períodos específicos, como:

January 11th, 2012 - January 25th, 2012
January 26th, 2012 - February 10th, 2012

E faça com que o Excel preencha automaticamente muito mais células no mesmo padrão:

January 11th, 2012 - January 25th, 2012
January 26th, 2012 - February 10th, 2012
February 11th, 2012 - February 25th, 2012
....
December 11th, 2012 - December 25th, 2012

Como posso fazer isso?

Responder1

Formate suas colunas no formato de data de sua preferência. Insira a data de 11/01/2012 na célula A1 e a data de 25/01/2012 na célula B2. Copie o seguinte código em A2;

=DATE(YEAR(B1),MONTH(B1), DAY(B1)+1)

e copie isso para B2;

=IF(DAY(B1)=10, DATE(YEAR(B1), MONTH(B1), DAY(25)), DATE(YEAR(B1),MONTH(B1)+1, DAY(10)))

Vá em frente e destaque A2 e B2 para arrastá-los para baixo o máximo que precisar.

Deve ficar assim quando terminar;

Captura de tela

Responder2

Aqui está uma solução de linha única. Atenção, é uma fórmula gigante e requer uma tabela de consulta separada.

Em algum lugar da sua pasta de trabalho, você precisará criar a seguinte tabela:

0   January
1   February
2   March
3   April
4   May
5   June
6   July
7   August
8   September
9   October
10  November
11  December

No meu exemplo, esta tabela está em I1:J12, então ajuste sua fórmula de acordo. Em A1 digite:

=VLOOKUP(MOD(ROUNDDOWN((ROW()-0.5)/2,0),12),$I$1:$J$12,2,FALSE) & IF(ISODD(ROW())," 11th, "," 26th, ") & 2012 + INT((ROW()-0.5)/24) & " - " & VLOOKUP(MOD(ROUNDDOWN(ROW()/2,0),12),$I$1:$J$12,2, FALSE) & IF(ISODD(ROW())," 25th, "," 10th, ") & 2012 + INT(ROW()/24)

Para ajudar a analisar isso, aqui está a fórmula dividida por parte:

=VLOOKUP(MOD(ROUNDDOWN((ROW()-0.5)/2,0),12),$I$1:$J$12,2,FALSE) & 
 IF(ISODD(ROW())," 11th, "," 26th, ") &
 2012 + INT((ROW()-0.5)/24) &
 " - " &
 VLOOKUP(MOD(ROUNDDOWN(ROW()/2,0),12),$I$1:$J$12,2, FALSE) &
 IF(ISODD(ROW())," 25th, "," 10th, ") &
 2012 + INT(ROW()/24)

Responder3

Nenhum método de fórmula

  1. EntraA1: 11/1/2012
    EntraA2: 11/2/2012
    DestaqueA1:A2, preencha (arrastando o mouse), por exemplo atéA12( 11/12/2012)

  2. EntraA13: 26/1/2012
    EntraA14: 26/2/2012
    DestaqueA13:A14, preencha (arrastando o mouse), por exemplo atéB24( 26/12/2012)

  3. Classificar colunaAqual seria a data de início do período

  4. (a) Repetir para colunaBqual seria a data de término do período (todos os dias 25 e 10)
    OU
    (b) Defina a próxima data de início - 1 como data de término, ou seja, insiraB1: =A2-1, então copie paraB2: B23

  5. Coluna de formatoA: Bconforme desejado em Formato de Célula (Ctrl-1), por exemplommmm dd, yyyy


Bônus

Para exibir a data de início e término em uma única célula separada por hífen:

  1. EntraC1: =TEXT(A1,"mmmm dd, yyyy") & " - " & TEXT(B1, "mmmm dd, yyyy")
    Isso lhe daria algo comoJanuary 11, 2012 - January 25, 2012

  2. Copie paraC2:C24

informação relacionada