본문 바로가기

웹개발/유용한정보

엑셀로 사용자 데이터 받아서 테이블에 넣기

대량의 데이터를 사용자들로부터 입력 받아 개발자가 입력해야 할 경우 사용 했습니다.

그룹 테이블 데이터
유저 테이블 데이터

이렇게 각 테이블의 데이터 있고 각 그룹별로 어떤 유저가 있는지를 유저들에게 입력을 받은 데이터를 dbunit으로 데이터를 넣기 위한 방법입니다.

 

현재는 5개씩 밖에 데이터를 존재 하지 않지만 천단위가 넘어가면 개발자가 직접 넣기는 힘드니 엑셀에서 자동화 하는 작업이 필요하게 됩니다.

 

입력 받아야할 시트

셀렉트 박스를 만들어서 원하는 데이터만 선택 가능하도록 구성

셀렉트박스 만들기

위의 방법으로 그룹과 유저를 그룹, 유저 시트에서 원하는 값만 선택하도록 만들도록 합니다.

아래 셀까지 모두 동일하게 하기 위해서는 =그룹!B$2:B$6 와 같이 셀번호를 고정시켜줘야 합니다.

\
입력 데이터

입력된 데이터를 인덱스 값으로 변환해서 그룹에 어떤유저들이 속해있는지를 데이터로 삽입해야 하는 작업이 필요합니다.

이렇게 입력 데이터를 원하는 인덱스 값으로 ..

Ctrl+f 로 값을 변경하는 방법도 있지만 대량의 데이터 기준으로는 마찬가지로 노가다 작업이 되므로 엑셀 함수 INDEX() 함수와 MATCH()함수를 이용하여 변환하도록 합니다.

=INDEX(그룹!A$2:A$6, MATCH(입력!A2,그룹!B$2:B$6,0),1)

=INDEX(그룹아이디 , MATCH(입력받은 값, 그룹이름, 0), 1) => 0은 정확히 일치할경우, 1은 열

이렇게 입력하게 되면 IF문과 같이 입력받은 값이 일치할 경우 인덱스 값으로 변경하여 자동채우기가 가능하다

이렇게 유저데이터까지 변경하면 해당 데이터가 테이블로 삽입될 수 있도록 변환 완료 됐습니다.

'웹개발 > 유용한정보' 카테고리의 다른 글

엑셀 아이디 값으로 데이터 변환  (0) 2020.05.22