상위 WBS 번호를 기준으로 "하위"시작 날짜 범위의 가장 이른 날짜에서 "상위"시작 날짜 가져 오기

토끼 악당

배경

  1. Formula 1을 사용하여 작업 분류 체계 (WBS) 번호 (D15) 할당을 자동화했습니다. WBS 번호 (1, 1.1, 1.1.1, 1.1.1.1 등)의 할당은 검증 된 목록 (C15)에서 선택한 WBS 수준을 기반으로합니다. 여기서 1 = 1, 2 = 1.1, 3 = 1.1.1 , 4 = 1.1.1.1 등
  2. 공식 2를 사용하여 롤업 시작 날짜 (T15)를 계산했습니다.

포뮬러 1

=IF(C15="","",IF(C15>OFFSET(C15,-1,0,1,1),IF(OFFSET(D15,-1,0,1,1)="","1",OFFSET(D15,-1,0,1,1))&REPT(".1",C15-MAX(OFFSET(C15,-1,0,1,1),1)),IF(ISERROR(FIND(".",OFFSET(D15,-1,0,1,1))),REPT("1.",C15-1)&IFERROR(VALUE(OFFSET(D15,-1,0,1,1))+1,"1"),IF(C15=1,"",IFERROR(LEFT(OFFSET(D15,-1,0,1,1),FIND("^",SUBSTITUTE(OFFSET(D15,-1,0,1,1),".","^",C15-1))),""))&VALUE(TRIM(MID(SUBSTITUTE(OFFSET(D15,-1,0,1,1),".",REPT(" ",LEN(OFFSET(D15,-1,0,1,1)))),(C15-1)*LEN(OFFSET(D15,-1,0,1,1))+1,LEN(OFFSET(D15,-1,0,1,1)))))+1)))

포뮬러 2

=MINA(V16:V35)

WBS 번호 지정 개요

  • 상위 번호의 롤업 시작 날짜는 후속 "하위"시작 날짜 범위의 최소값을 기반으로합니다.
  • WBS 레벨 1 (1) 롤업 시작 날짜는 MINA 공식을 사용하고 레벨 1 "하위"시작 날짜 범위를 수동으로 선택하여 얻습니다 (레벨 2, 3, 4 등. [1.1, 1.1.1, 1.1.1.1 등). .]).
  • WBS 레벨 2 (1.1) 롤업 시작 날짜는 MINA
    공식을 사용하고 레벨 2 "하위"시작
    날짜 범위를 수동으로 선택 하여 얻습니다 (레벨 3, 4 등 [1.1.1, 1.1.1.1 등]).
  • WBS 레벨 3 (1.1.1) 롤업 시작 날짜는 MINA 공식을 사용하고 레벨 3 "하위"시작 날짜 범위를 수동으로 선택하여 얻습니다 (레벨 4 등 [1.1.1.1 등]).
  • D15의 WBS 번호는 1이며, 이는 1 미만의 후속 "하위"번호 (1.1, 1.2, 1.2.1, 1.2.2 등)의 상위입니다. 이 경우 1의 롤업 시작 날짜는 하위 시작 날짜 범위 (V16 : V35)의 최소값입니다.
  • D16의 WBS 번호는 1.1이며, 이는 1.1 미만의 후속 번호의 상위입니다. 이 경우 현재 C16 (1.1) 미만의 자녀는 없습니다. 자식이있는 경우 1.1의 롤업 시작 날짜는 자식 시작 날짜 범위의 최소값이됩니다.
  • D17의 WBS 수준은 1.2이며, 이는 1.2 (1.2.1 및 1.2.2) 미만의 후속 "하위"번호의 상위입니다. 이 경우 1.2의 롤업 시작 날짜는 하위 시작 날짜 범위 (V18 : 19)의 최소값입니다.

심상

IMG :

발행물

부모의 롤업 시작 날짜를 찾기 위해 자식의 시작 날짜를 수동으로 선택하는 것은 비효율적이고 비효율적입니다. 추가 WBS 항목을 추가하려면 "하위"시작 날짜의 범위를 변경해야합니다.

질문

Based on WBS Number: How can I use the MINA formula to get a parent rollup start date (the minimum value in a range of “child” start dates) without having to manually select the start date range of its children?

For parent items, how can I display the earliest start date of their children?

For items without children, how can I display their estimated start date until they have children (and the earliest start date of their children is displayed)?

FlexYourData

여기에 이미지 설명 입력

Generally, the approach is:

  1. identify the parent WBS of each row
  2. take the MIN of the rollup start date for each value of Parent WBS

The parent WBS is just the WBS minus the right-most integer and one period. So, to get that, we just remove those two things. The tricky part is knowing how much text to remove and making sure we account for integers that are more than one digit (e.g. 1.2.1.12 or 1.2.123).

To do that, we need to somehow separate the right-most integer from the rest of the WBS. To do that, we can first count the number of periods in the WBS. This is just Level-1.

=$B2-1

Next, we can use SUBSTITUTE to replace the ($B2-1)nth period with another symbol. I have used @.

=SUBSTITUTE($C2,".","@",$E2)

Since there's now only one @ in the resulting string, it's easy to get all the text after that symbol using RIGHT:

=RIGHT($F2,LEN($F2)-FIND("@",$F2,1))

Next, we just remove that integer plus the trailing period from the WBS:

=IF($E2>0,LEFT($C2,LEN($C2)-LEN($G2)-1),"")

This gives us the Parent WBS.

앞의 모든 단계를 다음과 같이 단일 수식으로 래핑 할 수 있습니다.

=IF(($B2-1)>0,LEFT($C2,LEN($C2)-LEN(RIGHT(SUBSTITUTE($C2,".","@",$B2-1),LEN(SUBSTITUTE($C2,".","@",$B2-1))-FIND("@",SUBSTITUTE($C2,".","@",$B2-1),1)))-1),"")

마지막 단계는 MINIF를 사용하여 상위 WBS 별 최소 롤업 시작 날짜를 가져 오는 것입니다.

=MINIFS($D$2:$D$23,$I$2:$I$23,$I2)

편집하다:

자녀가없는 항목에 대한 귀하의 요점이 무엇을 의미하는지 100 % 확실하지 않지만 "WBS가 부모 인 경우 부모 롤업 날짜를 표시하고 그렇지 않으면 예상 날짜를 표시"하는 경우 다음 공식을 추가 할 수 있습니다.

=IFERROR(VLOOKUP($C2,$I$2:$J$23,2,FALSE),$D2)

기본적으로 부모 WBS 열의 현재 행에서 WBS 번호를 찾을 수 있으면 부모 WBS를 찾을 때마다 부모 롤업 시작 날짜를 반환합니다. 그렇지 않으면 D 열의 값을 사용하십시오.

위의 VLOOKUP이 작동하려면 부모 WBS를 반환하는 수식을 편집하여 값을 텍스트 대신 숫자로 반환해야했습니다.

=IF(($B2-1)>0,NUMBERVALUE(LEFT($C2,LEN($C2)-LEN(RIGHT(SUBSTITUTE($C2,".","@",$B2-1),LEN(SUBSTITUTE($C2,".","@",$B2-1))-FIND("@",SUBSTITUTE($C2,".","@",$B2-1),1)))-1)),"")

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관