그런 경우는 거의 없겠지만 엑셀을 일종의 데이터 베이스처럼 사용하는 경우도 있는데,
Power apps에서 제공하는 GUID() 함수를 사용해서 유니크한 값을 표현하거나, 엑셀을 사용한다면
아래 함수를 사용해서 랜덤하게 유니크값을 표현하는 방법도 있다,
-엑셀 랜덤 유니크 값 표현
=LOWER(CONCATENATE(DEC2HEX(RANDBETWEEN(0,4294967295),8),"-",DEC2HEX(RANDBETWEEN(0,65535),4),"-",DEC2HEX(RANDBETWEEN(0,65535),4),"-",DEC2HEX(RANDBETWEEN(0,65535),4),"-",DEC2HEX(RANDBETWEEN(0,4294967295),8),DEC2HEX(RANDBETWEEN(0,65535),4))) |
그런데 굳이 저렇게 유니크한 값으로 표현을 하지 않고 그냥 Index가 늘어나게 한다면 좋지 않을까?
라는 생각이 드는데, 엑셀함수는 =ROW()라는 함수를 사용해서 행의 값의 표현이 가능하다,
그런데, 아직 내가 데이터를 넣지않았고 앞으로 얼마나 더 많은 데이터가 입력되지 않은 상태에서 미리 함수를 입력한다면
데이터 출력시 시간이 오래걸릴것이다.
즉 아래와 같은 조건을 만족해야 한다.
1) 데이터 입력시 자동으로 행의 값이 늘어나야한다. (자동완성으로 미리 함수를 입력 X)
2) 행의 값에 맞게 데이터가 입려되어야 한다.ex)5번째 항일때 Index는 10이여야 한다.
3) 함수를 미리 입력하는게 아닌 데이터가 입력되었을때 자동으로 증가되어야 한다.
이상의 방법을 고민하다가 찾은 방법을 공유한다.
-원하는것-
-아래와 같이 ID가 자동으로 입력되어야 한다-
-방법-
1) 원하는 셀을 선택후 테이블로 변경한다.
(Ctrl+A >> 삽입 >> 표 >> 머리글 포함 후 표 생성)
또는
(Ctrl+A >> Ctrl+T >> 머리글 포함 후 표 생성)
이렇게 표를 생성하면, 표 도구 탭이 생성되고 이름 설정이 가능하다.
이렇게 생성한 테이블을 활용한 방법이다.
가장 맨 처음의 ID에 아래 함수를 기입한다.
=ROW()-ROW(MyTable[#머리글])
#머리글 또는 #Headers로 해주면 된다.
이후 더블클릭으로 전체 행에 자동완성을 만들어준다.
보시다시피 A8에는 아무런 함수가 기입되어 있지 않고 ID도 별도로 추가하지 않은 상태이다.
이상태로 아무 데이터나 입력하면 자동으로 ID의 값이 증가한다.
해당 방법은 Desktop 뿐만 아니라 office.com의 Excel Web / Excel Online에서도 적용 가능하다.
'Office.com' 카테고리의 다른 글
[Onedrive Online]Python을 사용하여 web Onedrive의 엑셀 파일 편집,업로드,다운로드 하기 (0) | 2023.04.05 |
---|---|
[Excel]Date,Int를 N개 간격으로 반복+증가 시키기 (0) | 2022.12.26 |
[PowerAutomate]Excel to Google Sheet data Transfer 400 Error 해결 (0) | 2022.11.21 |
[office.com]Excel web(Online) 읽기 전용 해제하기(read only turn off) (0) | 2022.11.15 |
[Office.com(Excel) Power Automate]Append Excel Data to another Excel (0) | 2022.10.26 |