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

2

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

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

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

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

E o excel preenche automaticamente muitas outras 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?

    
por Joe M. 26.01.2012 / 20:11

3 respostas

2

Formate suas colunas para o formato de data de sua preferência. Digite 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 para 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 quanto precisar.

Deve ser assim quando terminar;

    
por 27.01.2012 / 02:20
1

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. Na 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 peça:

=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)
    
por 27.01.2012 / 15:52
0

Nenhum método de fórmula

  1. Digite A1 : 11/1/2012
    Digite A2 : 11/2/2012
    Destaque A1: A2 , preencha (arrastando o mouse), por exemplo, até A12 ( 11/12/2012 )

  2. Digite A13 : 26/1/2012
    Entre em A14 : 26/2/2012
    Destaque A13: A14 , preencha (arrastando o mouse), por exemplo, até B24 ( 26/12/2012 )

  3. Classifique a coluna A , que seria a data de início do período

  4. (a) Repita para a coluna B que seria a data de término do período (a cada 25 e 10) OR
    (b) Defina a próxima data de início - 1 como data final, ou seja, insira B1 : =A2-1 e, em seguida, copie para B2: B23

  5. Formate a coluna A: B conforme desejado em Formato de célula (Ctrl-1), por exemplo mmmm dd, yyyy

Bônus

Para exibir o início & data final em uma única célula separada com hífen:

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

  2. Copiar para baixo para C2: C24

por 03.02.2012 / 08:33