안녕하세요.

 

두 시트에서 불일치하거나 중복되는 데이터 찾는 방법으로 Access를 이용한 방법을 소개했었습니다.

 

2021.10.28 - 두 시트에서 불일치, 중복되는 데이터 찾기(Access 이용)

 

두 시트에서 불일치, 중복되는 데이터 찾기(Access 이용)

안녕하세요. 'A-1' 시트와 'A-2' 시트에 입력된 값 중 'A-2' 시트에만 있고, 'A-1' 시트에는 없는 값을 찾으려고 합니다. 또 'B-1' 시트와 'B-2' 시트 모두에 있는 데이터를 구하려고 합니다. 엑셀에서 COUNT

hantip.net

 

불일치 데이터를 찾는 것은 엑셀 시트를 연결해서 값을 구하기 때문에 시트에 새로운 값을 입력하거나 입력되어 있는 데이터를 지우면 그 내용도 적용되어 값을 구하도록 만들었지만, 중복되는 데이터를 찾는 것은 엑셀 시트를 가져와서 작업을 하므로 시트의 내용이 변경되어도 변경된 내용이 결과에 바로 적용되지 않는 문제가 있습니다.

 

중복되는 데이터를 찾는 작업도 시트를 연결해서 구하겠습니다.

 

실습 파일 다운로드

실습파일.xlsx
0.02MB
불일치-중복 데이터 찾기.accdb
0.54MB

 

완성 파일 다운로드

중복 데이터 검색_완성.accdb
0.68MB

 

시트를 액세스 파일에 연결한 뒤 액세스 쿼리를 이용하나로 합치[중복 데이터 검색 쿼리]를 만듭니다.

 

엑셀 시트 연결하기

[외부 데이터]-[가져오기 및 연결]-[새 데이터 원본]-[파일에서]-[Excel]을 선택합니다.

실습파일.xlsx를 선택하고, '연결 테이블을 만들어 데이터 원본에 연결'을 선택한 뒤 [확인]을 클릭합니다.

'워크시트 표시'가 선택된 상태에서 'B-1' 시트를 선택하고 [다음]을 클릭합니다.

'첫 행에 열 머리글이 있음'이 선택된 상태에서 [다음]을 클릭합니다.

'연결 테이블 이름'은 시트 이름인 'B-1'을 그대로 두고 [마침]을 클릭합니다.

테이블과 연결되었다는 안내 메시지가 표시됩니다.

같은 방법으로 'B-2' 시트도 연결합니다.

 

시트 연결은 한 번에 하나씩만 됩니다.

 

선택 쿼리 만들기

'B-1', 'B-2' 테이블을 나타내는 쿼리를 각각 만듭니다.

 

[만들기]-[쿼리]-[쿼리 마법사]를 선택합니다.

'단순 쿼리 마법사'를 선택하고 [확인]을 클릭합니다.

'테이블/쿼리'에서 'B-1'을 선택하고 '사용 가능한 필드'를 모두 '선택한 필드'로 옮긴 뒤 [다음]을 클릭합니다.

이미 선택되어 있는 '상세(각 레코드의 필드마다 표시)'가 선택된 상태에서 [다음]을 클릭합니다.

쿼리 제목쿼리 이름을 의미합니다.

이름은 기본 이름인 'B-1 쿼리'로 두고 [마침]을 클릭합니다.

'B-1 쿼리'가 만들어졌습니다. 

'B-1 쿼리'B-1 테이블 내용을 그대로 보여주는 역할입니다. 

[중복 데이터 검색 쿼리]를 만들 때 사용할 데이터의 중간 단계입니다.

 

같은 방법으로 'B-2 쿼리'를 만듭니다.

 

통합 쿼리 만들기

두 쿼리의 결과를 합치는 새 쿼리를 만듭니다.

 

[만들기]-[쿼리]-[쿼리 디자인]을 선택합니다.

[쿼리 디자인]은 직접 사용할 테이블이나 쿼리를 선택하고, 필드도 추가하는 형식의 작성 모드입니다.

두 쿼리를 합칠 것이므로 [쿼리 디자인]-[쿼리 유형]-[통합]을 선택합니다.

열려 있는 'B-1 쿼리'를 마우스 오른쪽 클릭해서 'SQL 보기'를 선택합니다.

'SQL 보기'는 쿼리를 만드는 SQL문을 보여주는 항목입니다.

[쿼리 마법사]를 이용해 만들었던 'B-1 퀴리'SQL문으로 나타낸 내용입니다.

복사해서 '쿼리1'에 붙여 넣습니다.

<Enter>를 세 번 쳐서 단락을 띄우고 열려 있는 'B-2 쿼리'에서 마우스 오른쪽 클릭해 'SQL 보기'를 선택하고 SQL문을 복사해 '쿼리1'에 붙여 넣습니다.

두번째 줄 FROM [B-1]; 항목 끝 세미콜론( ; )을 지웁니다. SQL문에서 세미콜론은 문의 끝을 의미합니다.

아래에 UNION을 적습니다. UNION두 SQL문을 하나로 합친다SQL 명령어입니다.

SELECT [B-1].[번호], [B-1].[이름], [B-1].[학교명]
FROM [B-1]
UNION

SELECT [B-2].[번호], [B-2].[이름], [B-2].[학교명]
FROM [B-2];

SQL문은 작성을 완료했습니다.

[쿼리 디자인]-[결과]-[실행]을 선택해 쿼리를 실행합니다.

'B-1''B-2' 테이블에 있는 내용이 합쳐져 나타납니다.

 

[저장]을 눌러 'BB'란 이름으로 쿼리를 저장합니다. 이름은 알아보기 쉽게 마음대로 정합니다.

 

중복 데이터 검색 쿼리 만들기

이제 [중복 데이터 검색 쿼리]를 작성합니다.

[만들기]-[쿼리]-[쿼리 마법사]를 선택합니다.

'중복 데이터 검색 쿼리 마법사'를 선택하고 [확인]을 클릭합니다.

아래 '보기'에서 '쿼리'를 선택하고, 위에서 '쿼리: BB'를 선택한 뒤 [다음]을 클릭합니다.

'어떤 필드에 중복된 정보가 있습니까?'에서 중복 여부를 판단할 필드로 이름학교명'중복된 필드'에 추가하고 [다음]을 클릭합니다.

'쿼리를 사용하여 중복 값과 함께 필드를 표시하시겠습니까?'는 빈 상태로 두고 [다음]을 클릭합니다.

쿼리 이름은 기본값 그대로 두고 [마침]을 클릭합니다.

[중복 데이터 검색 쿼리]가 만들어졌습니다.

 

SQL'시퀄'이라고 읽습니다. 그런데 많은 사람들이 철자 그대로 '에스큐엘'이라고 읽기도 합니다.

 

액세스의 모든 쿼리는 SQL문으로 나타낼 수 있습니다.

그리고 SQL문으로 작성하는 법을 배워야 합니다.

 

필요하신 분께 도움이 되길 바랍니다.

+ Recent posts