포뮬러 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 항목을 추가하려면 "하위"시작 날짜의 범위를 변경해야합니다.
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)?
Generally, the approach is:
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] 삭제
몇 마디 만하겠습니다