레코드 하위 집합 가져 오기 (Microsoft Excel)
Gordon은 특정 필드의 값에 따라 텍스트 파일의 하위 집합을 Excel로 가져 오는 방법을 궁금해합니다. 예를 들어 텍스트 파일에있는 각 레코드의 열 5에 “y”가 포함 된 레코드 만 가져 오려고 할 수 있습니다.
이 작업에 접근 할 수있는 몇 가지 방법이 있습니다. 하나는 단순히 전체 텍스트 파일을 가져오고 레코드를 정렬하고 원하지 않는 항목을 삭제할 수 있다는 것입니다. 이것은 아마도 단일 파일을 처리해야하고 전체 파일이 단일 워크 시트에 들어갈 수있는 경우 가장 간단한 옵션 일 것입니다.
또 다른 방법은 매크로를 사용하는 것입니다. (특히 동일한 유형의 파일을 꽤 많이 가져와야하는 경우 가장 빠르고 쉬운 방법입니다.) 매크로는 텍스트 파일을 열고 각 행을 읽은 다음 해당 줄의 정보를 워크 시트에 추가해야합니다. 다음은 “MyCSVFile.txt”라는 파일을 연 다음 첫 번째 행에서 시작하는 새 워크 시트에 데이터를 고정하는 예입니다.
Sub ReadMyFile() Dim R As Integer Dim C As Integer Dim sDelim As String Dim sRaw As String Dim ReadArray() As String sDelim = "," ' Set to vbTab if tab-delimited file Worksheets.Add Open "myCSVFile.txt" For Input As #1 R = 1 Do While Not EOF(1) Line Input #1, sRaw ReadArray() = Split(sRaw, sDelim, 20, vbTextCompare) If ReadArray(4) = "y" Then For C = 0 To UBound(ReadArray) Cells(R, C + 1).Value = ReadArray(C) Next C R = R + 1 End If Loop Close #1 End Sub
매크로를 사용하려면 처리하려는 파일과 일치하도록 파일 이름을 변경하면됩니다. 또한 sDelim 변수를 수정하여 레코드에서 구분자로 사용되는 것과 일치하는지 확인해야합니다. 작성된대로 구분 기호가 쉼표 (CSV 파일에 있음)라고 가정하지만 실제로 탭 구분 파일로 작업하는 경우에는 vbTab으로 변경할 수 있습니다. 매크로가 완료된 후에는 단일 소문자 “y”문자가있는 레코드 만 새 워크 시트에 있습니다.
또 다른 방법은 Excel의 파워 쿼리 기능을 사용하는 것입니다. 이것은 Excel 2010 및 Excel 2013의 일부 변형에서 사용할 수있는 Microsoft의 무료 추가 기능입니다. 다음 위치에서 다운로드 (지원되는 변형 확인) 할 수 있습니다.
http://www.microsoft.com/en-us/download/details.aspx?id=39379
Excel 2016을 사용하는 경우 파워 쿼리가 프로그램에 기본 제공됩니다.
파워 쿼리가 설치되어 있거나 Excel 버전에서 사용할 수 있고 해당 Excel 버전이 Excel 2010 또는 Excel 2013 인 경우 다음 단계를 따르세요.
-
리본 메뉴의 파워 쿼리 탭을 표시합니다.
-
파일에서 클릭 | CSV에서. Excel은 표준 열기 대화 상자와 매우 유사한 쉼표로 구분 된 값 찾아보기 대화 상자를 표시합니다.
-
Excel로 가져올 CSV 파일을 찾아 선택합니다.
-
열기를 클릭하십시오. Excel은 각 필드에 사용할 수있는 필터링 단추와 함께 파워 쿼리 창에 데이터를로드합니다.
Excel 2016 이상 버전을 사용하는 경우 단계가 약간 다릅니다.
-
리본의 데이터 탭을 표시합니다.
-
가져 오기 및 변환 그룹에서 새 쿼리 도구 (Excel 2016) 또는 데이터 가져 오기 도구 (이후 Excel 버전)를 클릭합니다. Excel은 몇 가지 옵션을 표시합니다.
-
파일에서 클릭 | 텍스트 / CSV에서. Excel은 표준 열기 대화 상자와 매우 유사한 데이터 가져 오기 대화 상자를 표시합니다.
-
Excel로 가져올 CSV 파일을 찾아 선택합니다.
-
열기를 클릭하십시오. Excel은 각 필드에 사용할 수있는 필터링 단추와 함께 파워 쿼리 창에 데이터를로드합니다.
이 시점에서 사용중인 Excel 버전에 관계없이 컨트롤을 사용하여 쿼리를 지정할 수 있습니다 (즉, 가져올 레코드에 대한 정의 설정). 닫기 및로드를 클릭하면 파일에서 레코드가 검색되고 나중에 사용하기 위해 쿼리를 저장할 수 있습니다.
네 번째 방법은 Microsoft Query를 사용하는 것입니다. 이렇게하려면 매우 긴 일련의 단계를 따라야합니다. (누구도 Microsoft가 Microsoft Query를 사용하기 쉽게 만들고 싶다고 말한 적이 없으며 이러한 단계를 수행하면 동의하게됩니다.)
-
리본의 데이터 탭을 표시합니다.
-
데이터 가져 오기 및 변환 그룹에서 데이터 가져 오기 도구를 클릭 한 다음 외부 데이터 가져 오기 그룹 이전 버전의 Excel에서 다른 소스에서를 선택한 다음 Microsoft 쿼리에서를 선택합니다. Excel은 데이터 소스 선택 대화 상자를 표시합니다. (그림 1 참조)
-
새 데이터 소스 옵션을 선택하고 확인을 클릭하십시오. Excel에 새 데이터 원본 만들기 대화 상자가 표시됩니다. (그림 2 참조)
-
“CSV 파일”과 같은 데이터 소스의 이름을 제공하십시오.
-
항목 2의 드롭 다운 목록을 사용하여 Microsoft Text Driver를 선택합니다.
-
연결을 클릭하십시오. Excel은 ODBC 텍스트 설정 대화 상자를 표시합니다.
-
즉시 확인을 클릭하여 대화 상자를 닫습니다.
-
확인을 클릭하여 새 데이터 원본 만들기 대화 상자를 닫습니다. Excel은 4 단계에서 지정한 이름을 포함하도록 데이터 원본 선택 대화 상자를 업데이트합니다.
-
방금 만든 데이터 소스를 선택한 다음 확인을 클릭합니다. Excel은 원본에 데이터 테이블이 없다는 경고를 표시합니다. (괜찮습니다; 당신은 아무것도 정의하지 않았습니다.)
-
확인을 클릭하여 경고를 닫습니다. Excel은 쿼리 마법사 대화 상자를 표시합니다.
-
빈 쿼리 마법사 대화 상자에서는 아무 작업도 수행 할 수 없으므로 취소를 클릭합니다. Excel은 Microsoft Query에 남아있을 것인지 묻는 경고를 표시합니다.
-
예를 클릭하십시오. Excel은 테이블 추가 대화 상자를 표시합니다.
-
대화 상자의 컨트롤을 사용하여 CSV 파일을 찾아 선택합니다.
-
추가 버튼을 클릭합니다. Excel은 아무 작업도하지 않는 것처럼 보이지만 실제로는 CSV 파일에 대한 참조를 추가했습니다.
-
닫기 버튼을 클릭하여 테이블 추가 대화 상자를 닫습니다. CSV 파일이 Microsoft Query 창에 표시됩니다.
-
CSV 파일의 필드 목록을 사용하여 워크 시트로 가져올 각 필드를 Microsoft Query 창의 맨 아래 영역으로 끕니다. (모든 필드를 원하면 별표를 창의 하단 영역으로 드래그하면됩니다.)
-
클릭 기준 | 기준 추가. Excel은 기준 추가 대화 상자를 표시합니다. (그림 3 참조)
-
대화 상자의 컨트롤을 사용하여 필드 5 (이름에 관계없이)가 “y”와 같도록 지정합니다.
-
추가 버튼을 클릭하여 실제로 쿼리에 기준을 추가합니다.
-
닫기를 클릭하여 기준 추가 대화 상자를 닫습니다.
-
파일 | 데이터를 Microsoft Excel로 반환합니다. Excel은 데이터 가져 오기 대화 상자를 표시합니다. (그림 4 참조)
-
원하는대로 대화 상자에서 설정을 변경하여 CSV 데이터를 Excel로 반환하는 방법을 나타냅니다.
-
확인을 클릭하십시오.
(단계가 길다고 말했습니다.) 이제 Excel에서 데이터로 작업 할 수 있으며 원하는 경우 리본의 디자인 탭에있는 도구를 사용하여 CSV 파일의 데이터를 새로 고칠 수 있습니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (10384)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.