Excel에서 반복을 생성하는 방법은 무엇입니까?


1

Excel에 다음 데이터가 있습니다.

start date  end date    number of repetition
 0             515            423
 0             484            982
 0             456           5,012
 0             425           1,063
 0             395           2,148

예를 들어 다음과 같은 열에 해당 시작 날짜와 종료 날짜의 423 반복을 생성해야합니다.

0
515
0
515
...

그런 다음 나머지 반복은 같은 열에서 시작됩니다.


vbscript를 사용해야한다고 생각합니다. 이미 시도한 적이 있습니까?
Prasanna

여기 단일 항목 버전이 있습니다. 두 항목을 반복하도록 수정할 수 있습니다. 그렇지 않은 경우, 각 레이블을 여러 번 반복 한 다음 두 번째 공식을 사용하여 행을 대체하고 열을 아래로 내려갈 수 있습니다. stackoverflow.com/questions/30805665/…
Byron Wall

@ByronWall 이것은 내가 찾고있는 것이지만, 두 항목을 반복하기 위해 편집하는 방법을 모른다 ...
Ferra Xu

나도 아니고 첫 번째를 썼습니다! 진지하게, 당신은 VBA 또는 다단계 프로세스를 고려할 수 있습니다. 다른 대답은 여기에서 작동하도록 수정할 수 있지만 VBA를 사용하면 훨씬 쉽게 처리 할 수 ​​있습니다.
바이런 월

@ByronWall Scott은 문제에 대한 기능을 변경하는 데 도움을 주었지만 데이터가 변경 되어이 데이터에서는 작동하지 않습니다! 그는 더 이상 대답하지 않습니다, 당신은 당신이 나를 도울 수 있는지 여부를보고 그것을 볼 수 있습니까? 감사합니다
Ferra Xu

답변:


3

Excel에서 동적 테이블을 만드는 방법에 대한 Byron Wall 의 답변 을 조정할 수 있습니까? (스택 오버플로에서) 두 열 사이를 번갈아 표시합니다.

  • E2=A2
  • E3=B2
  • E4=IF(
        INDEX(C$2:C$99, MATCH(E2,A$2:A$99), 1) > COUNTIF(E$2:E2, E2),
        E2,
        INDEX(A$2:A$99, MATCH(E2,A$2:A$99)+1, 1))
  • E5=IF(
        INDEX(C$2:$C99, MATCH(E2,A$2:A$99), 1) > COUNTIF(E$2:E2, E2),
        E3,
        INDEX(B$2:B$99, MATCH(E2,A$2:A$99)+1, 1))

그런 다음 함께 선택 E4하고 E5아래로 드래그 하십시오 . 물론 99소스 데이터의 마지막 행 번호 (또는 더 높은 것)로 바꿔야 합니다.

테스트 / 데모 목적으로, 나는

  • 반복 횟수를 관리하기 쉬운 것으로 변경했기 때문에 처음으로 32( A3) 를보기 위해 행 828 (2 × 413 + 2)로 드래그 할 필요가 없습니다 .
  • 끝 날짜 변경 B3:B6이 분명있을 것입니다, 그래서 B3, B4, B5, 및 B6반대 표시되고 있었다 A3, A4, A5,과 A6(그리고 B2또 다시)
  • 표시 목적으로 만E을 두 조각으로 나누면 이미지의 높이는 38이 아니라 20 행이 될 수 있습니다.

     

이렇게하면 위와 같이 기간이 겹치게됩니다.

   또는 이와 같이 : 또는 다음과 같이 겹치지 않아야합니다.

시작일 종료일 시작일 종료일
     0 15 1 10
    10 25 11 20
    20 35 21 30
    30 45 31 40
    40 55 41 50

그러나 A이전 행에서 B값이 값 으로 발생한 것을 허용하지 않습니다.

    이처럼 : 또는 이처럼 :

시작일 종료일 시작일 종료일
     1 8 1 15
     8 15 8 22
    15 22 15 29
    22 29 22 36
    29 36 29 43

(즉, 범위가 연속되어서는 안됩니다). 당신이 그와 같은 데이터를 처리해야하는 경우, 변경 E4E5에 :

  • E4=IF(
        INDEX(C$2:C$99, MATCH(E2,A$2:A$99), 1) >
                  SUMPRODUCT(--(E$2:E2 = E2), --(MOD(ROW(E$2:E2),2)=0)),
        E2,
        INDEX(A$2:A$99, MATCH(E2,A$2:A$99)+1, 1))
  • E5=IF(
        INDEX(C$2:C$99, MATCH(E2,A$2:A$99), 1) >
                  SUMPRODUCT(--(E$2:E2 = E2), --(MOD(ROW(E$2:E2),2)=0)),
        E3,
        INDEX(B$2:B$99, MATCH(E2,A$2:A$99)+1, 1))

명확성을 위해 시작 날짜는 파란색으로, 종료 날짜는 노란색으로 형식을 지정했습니다.

 


답변 주셔서 감사합니다. 내 데이터가 변경되었으며 이제 모든 시작점이 0입니다. 이 새 데이터에서는 작동하지 않습니다 ... 새 데이터에 대한 질문을 참조하십시오. 감사합니다
Xu

원래 공식의 좋은 적응. 인내심을 가지고 있다면 이러한 것들이 얼마나 멀리 확장 될 수 있는지 항상 미쳤습니다.
바이런 벽

1

작동하지만 각 줄에 대해 수동으로 조정해야합니다. 이 수식을 자동 완성 할 수는 있지만 필요한 횟수만큼 반복 할 수있을 때 빈칸으로 돌아 오기 시작합니다. 첫 번째 행 (1,516)을 수행하려면 다음을 사용하십시오.

=IF(ROW()<=C$2*2+1,IF(ISEVEN(ROW()),A$2,B$2),"")

다음 행에 대한 조정은 다음과 같습니다.

=IF(ROW()<=C$3*2+1,IF(ISEVEN(ROW()),A$3,B$3),"")
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.