programing

표의 일부분을 별도의 워크시트에 표시

newstyles 2023. 10. 11. 20:32

표의 일부분을 별도의 워크시트에 표시

워크북의 첫 번째 워크시트에는 여러 개의 열과 행(대략 1000개의 행과 20개의 열)이 있는 큰 표가 있습니다.

메인 테이블에 있는 열 중 하나의 기준을 바탕으로 워크북의 다른 워크시트에 이 표의 일부를 표시할 수 있는지 궁금합니다.

이를 설명하기 위해 실제 워크북의 예시를 사용하겠습니다.

워크시트 1(주 표인 일반 직원 정보라고 함)에서 열 A의 각 행에는 직원을 식별하는 고유한 번호가 있습니다(각 직원은 고유한 ID 번호가 있습니다).

B열에는 사무실 위치(시/시)가 있습니다.열 C는 사무실이 있는 상태를 유지합니다.D열에는 연간 급여액이 저장되어 있습니다.

이러한 유형의 직원 정보가 포함된 열이 여러 개 더 있으므로 더 이상 설명할 필요가 없습니다.

질문은 워크북에 시트 2에 라벨을 붙여도 될까요?"New York State"그리고 시트에 시트 1과 동일한 정보(모두 동일한 열)만 표시하고 뉴욕 주에서 일하는 직원만 표시하도록 합니까?

라고 더 ."California"캘리포니아에서 근무하는 직원들만 그 서류에 기재되어 있습니다.즉, 각 주별로 별도의 시트를 구비해야 합니다.

기본적으로 상태 열을 사용하여 메인 테이블을 필터링하여 하나의 상태만 표시하는 것과 같지만, 모든 정보를 저장하는 메인 테이블을 필터링하는 대신 결과를 별도의 시트로 생성하기를 원합니다.

새 시트마다 피벗 테이블을 사용하려고 생각했는데, 그게 올바른 방법인지 잘 모르겠어요.

가능한가요?저는 제가 그 문제를 분명히 설명했길 바랍니다.

Excel 2013 이상을 시작점으로 사용한다면 Excel 테이블 기능을 사용하는 것을 꼭 추천합니다.사용자가 시트를 보다 쉽게 읽을 수 있도록 하고 INDEX/MATCH와 같은 경우 오류가 발생하지 않도록 공식을 만드는 등 여러 가지 이유로 테이블이 흔들립니다.

표가 기본 데이터와 함께 배치되면, 하위 집합을 만들기 위해 데이터 모델링 기능을 사용하여 해당 표로 다시 연결합니다.

Excel 2013 - 버전은 2018년경 활성화되어 있습니다.오피스 365에서 변경되었습니다(아래 참조).

  1. 시트를 만들거나 현재 시트의 테이블을 원하는 위치로 이동합니다.
  2. 데이터' 탭을 클릭하고 연결 섹션에서 "연결"을 선택합니다.
  3. 여기서 Add 버튼에서 드롭다운을 선택하고 Add to Data Model을 선택합니다.연결 대화상자
  4. tables 탭을 클릭합니다.원하는 테이블을 누릅니다.
  5. 이제 대화상자를 닫습니다.
  6. 데이터 탭의 "외부 연결 가져오기"에서 "기존 연결"을 클릭합니다.
  7. Table 탭을 클릭합니다.
  8. 원하는 테이블을 선택합니다.
  9. Table 라디오 버튼을 선택합니다.
  10. 히트 리턴(또는 새 시트 또는 다른 셀(원하는 경우)
  11. 다른 시트에서 테이블을 푸프하면 이제 현재 워크시트에 반영됩니다.

이때 데이터 슬라이싱을 사용하여 부분 집합을 설정하고, 열을 숨기거나, 테이블의 오른쪽 또는 왼쪽 가장자리에 새 수식이 있는 새 열을 삽입하는 등의 작업을 수행할 수 있습니다.

도구 모음의 '모두 새로 고침' 버튼을 사용하여 별도로 새로 고침을 해야 합니다.

2019년 10월 현재 엑셀에서 (이 점을 지적해주신 조쉬님께 감사드립니다!)엑셀에 '파워' 도구가 일부 포함돼 있고, 기능을 파악할 수 있는 툴바 아이템을 만들었기 때문에 더욱 좋아졌습니다.구체적으로:

  1. 시트에서 데이터를 선택하고 삽입 테이블을 사용하여 소스 데이터를 사용하여 테이블을 만듭니다.

  2. 테이블 선택

  3. 데이터 탭에서 "From Table/Range(테이블/범위에서)" 도구 설명과 함께 가운데 하단의 작은 아이콘을 클릭합니다.

  4. 그러면 Power Query Editor(전력 쿼리 편집기가 열립니다.Microsoft에는 튜토리얼이 있지만 지금은 약간 달라 보입니다.

  5. 쿼리를 작성한 후 편집기에서 "닫고 로드"를 누릅니다.옵션이 없으면 새 시트가 만들어집니다.타원형으로 옵션을 선택하면 몇 가지 다른 옵션이 있습니다.

여기에 다양한 작업을 수행하려고 합니다. http://www.get-digital-help.com/2009/09/28/extract-all-rows-from-a-range-that-meet-criteria-in-one-column-in-excel/

모든 데이터가 Sheet1에 있고 [tbl]이라고 하는 모든 요소를 포함하는 범위(CTRL F3)를 정의한 경우, Sheet2 In Sheet2 In Sheet2 In B1 셀에 검색할 열 번호를 입력합니다(즉, 검색 기준을 입력합니다.필터링할 상태) 셀 A2에서 Z1000까지(예: Ctrl SHIFT RETURN을 사용하여 입력) 다음 배열 공식을 입력합니다.

=INDEX(tbl, SMALL(IF((INDEX(tbl, , $A$1, 1)=$B$1), ROW(tbl)-MIN(ROW(tbl))+1, ""), ROWS(A2:$A$2)), , 1)

이 작업을 수행할 때 유의해야 할 한 가지 핵심 사항은 첫 번째 행에 대한 배열을 먼저 생성하고 CTRL SHIFT RETURN을 생성한 다음 아래로 드래그하는 것입니다.순서를 잘못 지정해도 함수 끝에 있는 행 카운터가 제대로 증가하지 않습니다.이 게시물의 시작에 있는 링크의 지시사항을 따라가면 이해할 수 있습니다.

당신이 그 질문을 했을 때, 그것은 고통이었습니다.2023년 이후에 찾으시는 분들은 이제 수월합니다.필터와 람다(Excel 365 또는 2021년 버전, 이전 버전에서는 사용할 수 없음)를 사용하면 매우 쉽게 수행할 수 있습니다.이것은 시트 이름이 필터링할 정확한 값이라고 가정합니다.예를 들어, 뉴욕 주입니다.

먼저 가독성을 위해 시트 이름을 얻기 위해 Lamda 함수를 만듭니다.이것이 꼭 필요한 것은 아니지만 나중에 많은 수고를 덜 수 있을 것입니다.

  1. 엑셀을 열고 포뮬러 > Name Manager > New로 이동합니다.

  2. "New Name"(새 이름) 대화 상자에 함수 이름(예: "GetSheetName")을 입력합니다.

  3. [참조 대상] 필드에 다음 수식을 입력하고 [확인]을 누릅니다.

= lambda(ref, MID(CELL("파일명", ref)),FIND("]",CELL("파일명",ref)+1,255)

"ref"는 계산에 전달되는 파라미터입니다.계산에서 ref를 보면 공식에 입력하는 모든 데이터가 사용됩니다.우리의 목적을 위해, 우리는 단지 우리가 필터 기능을 입력하는 셀을 사용하는 것입니다.하지만 말 그대로 워크시트에 있는 어떤 셀 참조도 괜찮을 것입니다.

그런 다음 뉴욕 시트로 이동하여 셀 A1에 다음 필터 기능을 입력합니다.

=FILTER(일반직원정보[#모두], 일반직원정보[주/시]]=GetSheetName(A1), "일치하지 않음")

이렇게 하면 지자체 정보가 시트 이름과 일치하는 테이블의 정보로 시트가 자동으로 채워집니다.다른 배열 함수를 사용하여 더 많이 처리할 수 있습니다.하지만 여러분이 2023년에 이 일을 하려고 한다면, 그것은 DEAD 쉬운 일입니다.

언급URL : https://stackoverflow.com/questions/17034975/displaying-a-portion-of-a-table-in-a-separate-worksheet