컴퓨터/엑셀 2008. 12. 11. 09:57

[엑셀] 문자열을 자유 자재로 : concatenate

concatenate는 문자열을 만들어주는 함수 입니다.

인자는 text로 변환 가능한 인자를 받습니다. text , 숫자 등이 되겠지요.

실제로 엑셀 도움말에 있는 예제를 보겠습니다.

 

 

도움말을 복사한것은 절대 예제를 만들기가 귀찮아서는 아닙니다. ㅎㅎㅎ

이해가 되시는 지요? 설명 란에 "송어의 개체 밀도는 32/킬로미터입니다." 가 결과값입니다.

아 숫자나 문자등을 가지고 하나의 문장을 만들어주는 구나...........

 

근데? 그게 뭐? -_-:;;;; 도데체 어디에 써 먹을 수 있을까요?

잠시 삼천포로 빠지면 제가 이 엑셀 강의를 시작하려고 마음 먹은 계기가 있습니다. 이거 하나만 잘 써도 엑셀로 정말 많은 일을 할 수 있겠다. 그리고 바로 이 정말 아무짝에도 쓸모없을 꺼 같은 concatenate함수가 바로 그 초석이 됩니다. ㅎㅎㅎ 자 이 얘기는 차근 차근 강의를 진행하다보면... 나오겠지요.

그럼 그때까진 이 concatenate를 써 먹지 못하냐? 여기 실제로 제가 쓰는 예제를 몇가지 보여줍니다.

전 강의에서 기념일을 계산하는 방법을 만들어서 보여드린 적이 있습니다.

너무 밋밋하다고 생각하지 않나요?

좀 장식을 더 해 보겠습니다.

 

오늘은 사귄지 608일 입니다. (예 저번 예제 작성일로부터 하루가 지났습니다.^^)

수식을 볼까요? concatenate(d1,a3,d2) 이렇게 되어 있네요. 각 셀에 문장을 미리 작성해 놓고 그것들을 이렇게 조합해서 사용합니다.

물론 이건 보여주기 위해서 이렇게 만든 것 이고 이렇게 써도 가능합니다.

=concatenate("오늘은 사귄지 ", A3, " 일 입니다.")

이렇게 수식을 쓰셔도 정확히 결과는 일치합니다.

조금 더 실용적인 예제를 들어볼까요?

제가 다니는 히사는 주간 업무 보고라는 것을 합니다. 자세한 내용은 필요없고 제목에 이렇게 적지요.

주간 업무 보고 (2007-12-01 ~ 2007-12-05)

주간 업무 보고는 매주 합니다. 매주 저 날자를 일일이 바꿔주긴 귀찮겠지요? 젤 편한 방법이 멀까요?

(날자를 안 쓰는 겁니다. -_-;;;;;)

ㅎㅎㅎㅎ

근데 날자를 안 쓰면 나중에 검색할때도 불편하고 팀장님이 화내요~~ ㅎㅎㅎ

그래서 전 이렇게 합니다.

=concatenate("주간 업무 보고 (", d6 " ~ " , 36, ")")

이해가 되시나요? 네 d6과 e6에 날자가 들어가는 거지요. 물론 그 날자는 자동으로 계산되어야 합니다.

지난 강의에서 날자 계산 하는 법, 오늘 날자 계산하는 법등을 배웠지요. 활용해보겠습니다.

.....

 

...

.

.

.

.

.

활용해 보시라구요!!! ㅎㅎ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ㅎㅎ

 

어렵지 않습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

힌트는 now() 입니다.

 

으학 이게 무슨 일 입니까? -_-???

저 알수 없는 숫자는 무엇일까요?

팀장님한테 더 혼나게 생겼네요. 어떻게 해야 할까요?

D6과 E6을 먼저 보겠습니다.

D6에는 NOW 함수를 써서 오늘 날자를 표시했습니다.

 

그럼 이번주의 월요일인 E6은 어떻게 계산했을까요?

어려운 방법이 있습니다. 날자 관련 함수들중에 주어진 날자의 주의 월요일을 계산해주는 함수도 있지요...

무슨 요일인지를 계산해주는 함수도 있습니다.

그런 저런 함수들을 써보고 싶지만 그렇게 하자면 너무 복잡해지고 어려워지니... 간단히 하겠습니다.

서두에 주간업무보고는 매주 금요일에 한다고 했습니다.

그럼?

 

그렇지요 월요일은 금요일보다 4일전입니다.

간단하지요? 그럼 이제 저기 나오는 시간이나 숫자가 문제네요 어떻게 해야 할까요?

 

도데체 어떻게 하면 이렇게 시간이 없고 날자값만 나오게 할 수 있을까요?

여기서 사용되는 함수는 TEXT라는 함수 입니다. 주어진 숫자를 일정한 양식에 맞춰 변환시켜주는 함수입니다.

text함수는 자세히 설명하기엔 좀 복잡하므로 궁금하신 분은 직접 도움말을 한번 보시기 바랍니다. 본 예제에서는 다음과 같이 활용하였습니다.

 

첫번째 인자를 두번째 인자(서식이라고 함)에 맞추어 변환시켜주는 것이죠. "yyyy-mm-dd"는 "년-월-일"의 형식으로 표현하라는 서식입니다.

간단한 함수인데 설명이 걸어졌네요.

이 concatenate함수가 응용될 다른 분야는 DM발송에서도 활용될 수 있습니다.

주어진 고객데이타가 있고 데이타에는 주소/이름등이 적혀 있으며 이 데이타를 기초로 발송지 주소를 뽑고 싶을때 응용할 수 도 있겠지요.

이에 관해서는 다음에 기회가 되면 다시 써 보겠습니다.

-마음가는 길은 곧은 길-

PS : 명일부터 휴가인 관계로 다음강좌는 수요일에나 올라올듯 합니다. 못간 여름 휴가입니다. ㅎㅎㅎ