2014-10-29 11 views
0

다음과 같이 다른 열의 Sch 코드를 하나의 열로 수집해야합니다.두 개 이상의 데이터 열을 수식을 사용하여 하나의 열로 통합하십시오.

첫 번째 우선 순위는 가능하면 수식 또는 UDF 함수입니다.

내 데이터 :

Column A Column B Column C Column D Column E Column F Column G 
SCH Code Value  SCH Code Value  Rating  SCH Code Value 
C01-3-1  4   C01-4-1  8   300   C02-3-1  8 
               300   C02-3-5  9 
C01-3-2  5   C01-4-2  12   300   C02-3-2  12 
C01-3-3  6   C01-4-3  21   300   C02-3-3  21 
               300   C02-3-6  10 
C01-3-4  7   C01-4-4  4   300   C02-3-4  4 

필수 결과 (만 모델명 : SCH 코드 요약 시트에 필요하지만이 공식이나 VBA UDF 기능에 필요) :

Column A 

C01-3-1      
C01-3-2      
C01-3-3      
C01-3-4      
C01-4-1      
C01-4-2      
C01-4-3      
C01-4-4      
C02-3-1      
C02-3-5      
C02-3-2      
C02-3-3      
C02-3-6      
C02-3-4 

답변

0

하나의 솔루션 :

C 열의 모든 값을 A 열 데이터 아래에 복사하여 붙여 넣습니다. 열 A를 강조 표시하고 데이터> 중복 제거, 데이터> 정렬로 이동하십시오.

0

배열 수식과 함께 열 A에서 고유 한 비 공백 값을 수집 할 수 있습니다. =INDEX($A$2:$A$99,MATCH(0, IF(LEN($A$2:$A$99),COUNTIF(I$1:I1,$A$2:$A$99),1),0)). 이 값은 더 이상 열에서 반환 할 값이없는 #N/A을 반환하므로 IFERROR으로 다른 열을 참조하는 비슷한 수식으로 제어를 전달할 수 있습니다.

enter image description here

는 SCH 코드의 당신의 세 개의 열에서 선택하려면이 3 깊은 스택해야합니다. I2의 수식은 다음과 같습니다

=IF(LEN(I1),IFERROR(INDEX($A$2:$A$99,MATCH(0, IF(LEN($A$2:$A$99),COUNTIF(I$1:I1,$A$2:$A$99),1),0)),IFERROR(INDEX($C$2:$C$99,MATCH(0, IF(LEN($C$2:$C$99),COUNTIF(I$1:I1,$C$2:$C$99),1),0)),IFERROR(INDEX($F$2:$F$99,MATCH(0, IF(LEN($F$2:$F$99),COUNTIF(I$1:I1,$F$2:$F$99),1),0)),""))),"") 

배열 수식Ctrl 키 + 시프트 +를 입력, 단지 를 입력하지가 필요합니다. 올바르게 입력되면 가능한 모든 값을 포착하도록 채워질 수 있습니다. 나중에 빈칸을 채울 경우 빈칸을 채울 수 있도록 행의 3 배 이상을 채울 것입니다.

이론적으로이 값을 훨씬 더 깊게 쌓을 수는 있지만 실용적인 목적으로는이 값보다 훨씬 깊지 않습니다. 배열 수식은 대수 비율로 계산 리소스를 소모하므로 데이터 크기가 적절한 솔루션인지 여부를 결정하는 핵심 요소가됩니다.

+0

고마워요. 많은 사람들이이 긴 공식을 어떻게 처리해야할지 모르겠군요. 사용자 정의 함수를 만드는 것이 가능합니다. 그 기능을 가진 열과 우리의 결과가 올 것입니다. –

+0

@ShahbazNawaz - '사람'이 공식을 처리하는 방법을 모르는 경우 게으른 뒷부분에서 벗어나 대중 도움말 포럼에 와서 누군가에게 자신의 업무를 수행하도록 요청하는 대신 학습해야합니다. 귀하의 질문에 대답하기 위해서는 가능합니다. – Jeeped

+0

감사합니다 ... 매우 도움이 ... –