본문 바로가기

IT/RPA

[RPA] #6-2 UiPath 엑셀(Excel) & 데이터테이블 Lookup Data Table

 

# VLOOKUP 함수 = Lookup Data Table 

 

# String.isnullOrWhiteSpace(Str_Result) 

  -> null? True 반환!

 

 

<목차>

** VLOOKUP 함수 == Lookup Data

 

 

 

** VLOOKUP 함수 == Lookup Data

 

 

 

익히 알다싶이 엑셀에는 VLOOKUP 함수가 있다.

 

 

UiPath에서 엑셀을 다룰 떼 이 함수의 기능을 사용할 수 있는데,

 

해당되는 액티비티가 바로 Lookup Data Table 이다

 

 

 

 

 

 

 

 

1. Lookup Data Table 란?

 

일반적으로 엑셀에서 VLOOKUP 함수를 사용하는 방법은

=VLOOKUP( 찾을값, 참조범위, 열번호, [일치옵션] ) 와 같다.

 

 

Lookup Data Table 액티비티를 사용하는 방법 또한 이와 동일하다. 

 

이 액티비티는 주로 아래의 경우에 사용한다.

  • 별개의 데이터테이블로부터 값을 참조할 때
  • 원하는 데이터테이블에서 값의 유무를 확인할 때
  • 기타 상황

하지만, 위의 경우를 제외하더라도 개발 상황에 따라 Lookup Data Table을 이용하게 될 것이다.

 

 

 

 

 

 

2. Lookup Data Table 의 구성과 사용법

 

1) Lookup Data Table의 구성

Lookup Data Table 액티비티와 속성

 

 

 

액티비티는 위와 같이 구성되어 있다.

 

하지만 해당 액티비티 사용 시

 

중요한 것은

 

바로 액티비티의 네 가지의 '속성'을 지정하는 것이다.

 

 

 

 

 

 

 

2) Lookup Data Table의 사용법**

 

Lookup Data Table 액티비티 속성

 

 

 

* 크게 네 가지 속성, 5가지 값에 대하여 입력해주어야 하는데, 속성에 따라 입력해야 할 값은 다음과 같다.

 

 

<입력>

  • 1) 찾을 값이 있는 DT (DT_Find)
  • 2) DT_Find 에서 찾을 값(Str_ID)

<조회열>

  • 3) 찾을 값(Str_ID)을 조회할 열("아이디")

<출력>

  • 4) 찾은 셀의 값을 담을 변수(Str_Result)

<타겟 열>

  • 5) 조회한 열("아이디")의 행에서 값을 찾을 열("이름")

 

 

 

위의 실행 과정을 시각화하면 다음과 같다.

 

 

 

 

* 이러한 액티비티를 활용하면,  별개의 데이터테이블로부터 값을 찾아 현재의 데이터 테이블에서 이용할 수 있다.

 

=> 즉, 출력된 값인 Str_Result를 가지고 다시 한번 현재의 데이터 테이블에서Lookup Data Table 을 이용할 수도 있다.

 

 

 

* 다만, 조회값인 Str_ID에 해당하는 데이터가 없다면 null 값으로 Str_Result를 반환한다.

 

 

 

 

 

 

3. Lookup Data 활용 예시 (계속해서 추가해나갈 예정)

 

1) 전일과 금일의 환율 증감 비교

 

   (1) 현재의 환율 고시값 입력 & 전일의 환율 고시값 추출

 

 

위의 과제 해결을 위한 Logic은 다음과 같은 순서도로 나타낼 수 있다.

 

 

Logic 순서도

 

 

* 유럽의 매매기준율을 구하는과정과 적용 과정은 생략한다.

 

* 위 Logic은 현재, 또는 전일의 고시환율을 조회하고 엑셀에 입력하는 과정을 구현한 것이다.

: 유로존 국가인지를 확인하는 과정에서, '현재 행의 국가' 값을 이용하여 유로존 국가들이 입력된 sheet에 대하여 Lookup Data Table을 수행, 대상 데이터테이블에서 조회열과 타겟열을 같게 하여 조회해볼 수 있다.

 

 

 

 

 

 

 

(2) 두 환율 고시값을 비교, 증감 표시

 

위의 과정으로 전일 환율과 금일 환율을 구했다면, 해당 값들에 대하여

Math.Abs() 등의 함수와  ▲▼ 과 같은 기호를 이용하여  편차를 적절히 나타낸다

 

 

최종 결과물

 

 

 

 

 

 

 

 

 

4. 사용한 Activity 정리

1) Lookup Data Table

: 엑셀의 VLOOKUP 함수와 같은 기능. 네 가지 속성에 대한 다섯 가지 값을 적절히 입력해주어야 한다.

: 만약, 찾는 데이터가 없다면 null을 반환한다. 

 

=> null 여부에 따라 다른 작업을 수행하도록 할 때, Result 변수에 isnullOrWhiteSpace 메소드를 활용할 수 있다.

 

==> String.isnullOrWhiteSpace(Str_Result) 

     ? 괄호 안에 있는 텍스트가 null인지 아닌지를 판단. 만약 null이라면 값이 True로 반환. null이 아닌 경우 False를 반환