이 문제를 해결하는 좋은 방법을 찾을 수 없습니다. 나는 가능한 한 최선을 다해 문제를 요약하려고 노력할 것입니다.
저는 Hyperion Essbase Excel 광고 기능을 사용하여 OLAP 큐브 내부를 탐색합니다. 여기서 달성하려는 작업은 특정 레이블을 차원 값에 매핑하는 것입니다. 이 차원 내부에는 여러 수준의 데이터 그룹화가 있으므로 하나의 하위 노드가 여러 수준의 부모를 가질 수 있습니다. 구성원이 무엇인지 미리 알 수 있지만 매월 변경될 수 있으며 누락된 구성원을 찾는 것이 지루할 수 있으므로 상위 구성원을 사용하고 해당 구성원을 확대합니다. 그러나 하나의 상위 요소 안에는 여러 개의 서로 다른 레이블이 있을 수 있습니다. VLOOKUP()을 사용하여 이 중 일부를 달성했으며 현재 행이 내 테이블에 없으면 한 행을 아래로 보고 해당 수식을 드래그하면 다음과 같은 바람직하지 않은 효과가 발생합니다.
나는 함께 어울리는 것에 번호를 매겼다. 내 예에서 볼 수 있듯이 "24566" 요소는 상위 "FD120465"에서도 찾을 수 있습니다. 결과적으로 동일한 그룹에서 이전에 발견된 모든 요소는 "비용 B"에 매핑되지만 대상 결과는 모든 하위 요소가 "비용 D"가 아닌 "24566"에 매핑되어야 한다는 것입니다. 이 예에서 사용한 공식은 다음과 같습니다.
=IFERROR(VLOOKUP(C11,$C$3:$D$8,2,0), D12)
이 문제를 해결하는 방법에는 여러 가지가 있지만 마음에 드는 방법은 없습니다. 두 가지 다른 수식을 만들 수 있습니다. 하나는 하위 요소만 살펴보고 다른 하나는 상위 요소만 살펴보는 것입니다. 하위 요소가 먼저 배치되면 잘못된 레이블이 그룹에 배치되는 것은 중요하지 않습니다(주황색 부분에서 "24566"은 "비용 D"로 레이블 지정됨). 이는 또한 더 많은 작업이 필요하다는 단점도 있습니다(공식 1과 공식 2를 사용할 영역을 정의하고 작업을 수동으로 수행하거나 VBA로 과도하게 수행...).
또 다른 방법은 모든 하위 요소를 꺼내서 적절한 매핑을 사용하여 테이블에 넣는 것입니다. 문제는 부모가 매월 더 많거나 적은 항목을 가질 수 있고 매핑이 변경될 수 있으므로(자주 발생해서는 안 됨) 모든 하위 요소를 관리하는 것이 지루해진다는 것입니다. 제가 제공한 샘플은 제가 가지고 있는 샘플(부모 중 15-20명의 자녀)에 비해 아주 작습니다.
이것은 단점이 가장 적은 솔루션을 결정하기 전에 이 작업에서 제공하는 마지막 기회입니다. 이 문제를 해결하는 확실한(또는 그다지 명확하지 않은) 방법이 있습니까?깨끗하게?
감사해요 !
답변1
이것은 당신이 원하는 것을 원하고 당신이 있다고 생각되는 곳에서 시작하는 경우에 작동합니다. (데이터에서 얻은 결과를 얻는 가장 좋은 방법은 아니지만 최소한 필요한 것이 무엇인지 명확히 하는 데 도움이 될 수 있습니다.)
모든 하위 항목이 상위 항목을 갖도록 도우미 열을 추가합니다(그렇다고 가정).
B11=IF(LEFT(C11,2)="FD",C11,B12) (필요에 따라 복사)
=IFERROR(VLOOKUP(C11,$C$3:$D$8,2,FALSE),VLOOKUP(B11,$C$3:$D$8,2,FALSE))
(D11에서는 필요한 만큼 복사했습니다.)
나는 표의 아래쪽 두 항목에 오타가 있다고 가정했습니다.