2013-12-10 2 views
0

나는 여러 명의 학생과 과정을 나열한 엑셀 파일을 가지고 있습니다. 학생들이 행에 나열되고 코스가 날짜와 함께 열에 있도록 워크 시트가 설정됩니다. 별도의 워크 시트에 캘린더를 작성하여 학생들과 코스의 스냅 샷보기를 보여주었습니다. 나는 캘린더에 데이터를 공급하는 방법에 어려움을 겪고있다. 기본적으로 논리는 StatusArray라는 인접하지 않은 셀의 배열을 검색하거나 루프를 통해 검색해야하며 값이 있으면 학생 ID와 관련 Course 이름을 반환해야합니다. 키커는 학생 한 명당 여러 개의 과목이있을 수 있기 때문에 새로운 수업에서 모두를 모두 반환해야합니다. 그리고 입력 된 날짜를 기준으로 생성되므로 상태 열에는 모두 수식이 포함됩니다.다른 워크 시트에서 특정 값을 반환하는 Excel 코드

예 : 워크 시트 1 열 - 학생 ID는 이름, 주소, 코스 상태, ..., 날짜, 종료 날짜, 등급, 시작 날짜, 종료 날짜, 등급, 코스 상태를 시작

강좌 상태 열을 읽고 (비어 있지 않은 경우) J의 상태 열에 대한 상태 헤더와 달력 워크 시트의 C 열에있는 학생 ID를 반환해야합니다. 이름, 주소, 전화 번호 및 댓글을 반환하는 경우 보너스!

나는 이것을 어떻게 행하는가에 관해 완전히 고집했다!

+1

몇 가지 샘플 데이터 (테이블 또는 이미지)와 예상되는 결과를 제공 할 수 있습니까? 또한, 지금까지 무엇을 시도 했습니까? – tigeravatar

+0

새로운 사용자 제한 (10 명 미만)이 이미지를 허용하지 않는다고 생각합니다. 나는 또한 실제로 레이아웃을 따르지 않는다. – gtwebb

+0

비정규 화 된 데이터를 다루는 데 많은 문제가 집중되는 것처럼 보입니다. –

답변

0

brute-force 접근법 : "status/start/end/grade"정보가 반복되는 4 개의 블록이 있다고 가정 해 봅시다. 4 개의 코스 블록이 학생 중 가장 많이 이해하고 있지만 일부 학생들에게는 3 개 이하의 블록으로 채워진 데이터가 있습니다.

먼저 학생 ID, 이름이 & 인 데이터 영역 만 복사하십시오. 기존 학생 목록 바로 아래에 붙여 넣기하십시오. 총 4 세트의 학생 정보가있을 때까지 반복하십시오. 첫 번째 세트는 원본이고, 그 다음에는 3 개의 중복 사본입니다.

다음으로 상태/etc의 맨 오른쪽 (4 번째) 블록을 잘라냅니다. 정보를 입력하고 학생의 첫 번째 반복 섹션 옆에 붙여 넣으십시오. 붙여 넣은 상태 열과 첫 번째 블록의 상태 열을 정렬해야합니다. 이 운동을 두 번 더 반복하고 상태의 가장 오른쪽 블록을 잘라 내고 중복 된 학생 정보의 다음 섹션 옆에 붙입니다.

이제 데이터 열이 7 개인 테이블이 있어야합니다. 첫 번째 세 개는 학생 ID이고 이전 이름과 동일한 & 주소입니다. 다음 4 열은 코스 상태, 시작, 끝 & 등급입니다. 이제 원하는 항목에 대한 "상태"열을 간단하게 필터링 할 수 있어야합니다.

p.s. 나는 일반적으로 짐승을 강요하는 것을 권장하지 않지만,이 경우에는 레이아웃에 대한 더 자세한 내용이 없으면 좀 더 우아하게 코드를 작성하는 것은 불가능합니다. 이 솔루션은 조작해야 할 데이터가 많지 않고이를 자주 수행 할 필요가 없다고 가정 할 때 빠르고 쉽습니다.

관련 문제