728x90

 

숫자를 정렬하다보면 자리수가 중요할 때가 많습니다.

보기도 좋고 규격등에 맞추다보면서 그렇죠.

그런데 엑셀은 숫자 앞에 있는 0은 자동으로 인식해서 지워버립니다.

오늘은 엑셀에서 숫자의 자리수에 맞추어 0을 넣는 법을 알아보겠습니다.

 

앞에 0을 붙이기

 

 

 

 

1. 숫자의 자리수를 맞추는 TEXT 함수 사용하기

 

TEXT 함수를 설명하는 포스트

 

TEXT 함수는 글자나 숫자의 표시형식을 지정하는 함수입니다.

이걸 이용하면 자리수를 맞출 수 있습니다.

TEXT("변경할 수", "00000")을 하면 자리수가 0 만큼 될 때까지 0으로 체웁니다.

 

TEXT 함수의 사용법

 

이 경우에는 숫자 자체가 변한 것이라서 복사해서 다른 프로그램에 붙이면 "00052"라고 표시되게 됩니다.

그리고 이경우에는 자리수가 넘어가는 경우 그냥 넘치게 됩니다.

6772945 같은 숫자는 아무 변화가 없게 됩니다.

 

 

 

2. 자리수가 넘으면 짜르는 방법

 

이번에는 좀더 복잡한 함수입니다.

=Right(Rept("0",자리수)&숫자,자리수) 라는 방식입니다.

 

적용결과

 

이 경우에는 자리수를 넘어가면 그만큼은 짤라버립니다.

예시의 경우에는 딱 5자리까지만 표시됩니다.

 

 

 

3. 서식으로 변경하기

 

위의 방법들은 함수로 변경하기 때문에 숫자 그 자체가 변경됩니다.

이번에는 서식으로 변경하는 방법을 보겠습니다.

셀에 마우스 오른쪽 키를 클릭하거나 Ctrl + 1 단축키로 셀 서식을 실행할 수 있습니다.

 

서식 변경하기

 

셀 서식에서 [표시 형식] - [범주] - [사용자 지정] - [형식]에서 원하는 자리수만큼 0을 입력합니다.

이러면 자리수가 부족한 부분에 0을 채워 넣습니다.

이 경우에는 보이는 서식만 변화했기 때문에 복사해서 외부프로그램에 붙여 넣으면 그냥 숫자만 복사됩니다.

 

 

320x100

 

반응형
728x90

 

 

엑셀에서는 파일을 공유하고 검토내용을 주고받기 위해서 메모기능을 지원합니다.

메모는 그냥 사용해서 많이 편리한 기능이고요 꾸미기도 가능합니다.

오늘은 배경으로 그림을 넣는 법을 알아보겠습니다.

배경을 변경하는 것은 기존에 있는 메모기능에 사용할 수 있습니다.

 

 

 

① 메모를 삽입합니다.

 

먼저 메모가 있어야 꾸미던지 할 것입니다.

메모 기능의 위치는 [상단매뉴] - [검토] - [메모] -  "새 노트" 를 클릭하면 메모를 만들 수 있습니다.

단축키로 "shift + F2"으로도 만들 수 있습니다.

 

note 입력하기

 

 

 

② 메모를 보이게 하고 마우스 오른쪽 클릭을 합니다.

 

메모를 선택하고 "메모 표시/숨기기"로 항상 표시되도록 유지합니다.

그런 후 테두리를 마우스로 오른쪽 클릭으로 하면 메모 서식으로 들어갈 수 있습니다.

어느정도 정확하게 클릭해야 메모서식으로 들어갈 수 있습니다.

 

메모 서식으로 들어가기

 

 

 

 

③ 메모 서식에 그림을 넣습니다.

 

탭에 "색 및 선"으로 배경을 지정합니다.

색 옆에 아래 화살표(∨)를 선택하면 채우기 효과 매뉴를 열 수 있습니다.

그림 탭으로 가면 그림 선택으로 로컬 컴퓨터에 있는 파일을 가져 올 수 있습니다.

 

그림 넣기

 

미리보기에서 그림을 확인할 수 있습니다.

 

 

 

 

④ 메모를 확인합니다.

 

이제 그림배경이 적용이 되었습니다.

그 위에 글자가 입력이 됩니다.

한 번 작성한 메모는 셀을 복사해서 붙여넣기로 여러 개 만들 수도 있습니다.

 

그림이 들어간 메모

 

 

문서를 강조하거나 보여주고 싶은 것이 있으면 여러가지 방법으로 가능합니다.

그중에 대표적으로 그림을 넣거나 배경을 꾸미는 것이 있습니다.

 

 

320x100

 

반응형
728x90

 

 

엑셀에서는 메모가 두가지 종류가 있습니다.

원래 있던 메모와 Micro office 369 버전 혹은 Excel 2019 이상에서 추가된 대화형 메모의 두 종류입니다.

엑셀에서는 현재 둘다 메모라는 이름의 기능으로 사용하고 있습니다.

이번 포스트에서는 기존 메모와 대화형 메모로 나누어 작성하겠습니다.

이전 버전의 엑셀에서는 대화형 메모는 사용할 수 없고 기존 메모만 쓸 수 있습니다.

 

 

 

1. 메모의 사용법

 

두 메모 기능은 비슷한 곳에 있는데 [상단메뉴] - [검토] - [메모]에 나누어 있습니다.

똑같이 메모라고 표시되고 추가된 대화형 메모가 더 많은 칸을 차지하고 있습니다.

그리고 중간에 있는 "삭제, 이전 메모, 다음 메모, 메모표시"는 두 가지 공통적으로 사용가능합니다.

 

메모

 

기존 메모는 포스트잇 색으로 추가되며 대화형 메모는 대화가 가능하도록 달립니다.

Windows에 로그인한 아이디로 표시가 됩니다.

 

두 메모의 생김세

 

 

 

 

2. 메모의 특징과 기능

 

① 기존 메모의 특성

 

기존메모는 포스트 잇 같은 공간에 여러가지 내용을 입력할 수 있습니다.

항상 떠있게도 할 수 있고, 셀에 마우스 커서를 올리거나 클릭된 상태에서만 출력하도록 할 수 있습니다.

색이나 서식을 변경하고 위치도 변경이 가능합니다.

 

 

② 대화형 메모의 특징

 

최신 버전임에도 디자인을 변경할 수 없습니다.

항상 표시를 선택할 경우 오른쪽에 대화창을 통해서 볼 수 있습니다.

대화형을 강조한 인터페이스로 댓글을 달때 "아이디""시간"을 표시할 수 있습니다.

 

대화형 메모

 

 

 

 

3. 두 개의 기능의 차이

 

두 기능의 차이를 정리하면 아래 표와 같습니다.

 

메모의 차이

 

 

320x100

 


 

마이크로 소프트에서 요즘 유행하는 대화형 인터페이스를 시도하는 것 같습니다.

장기적으로 보면 큰 변화가 있을 것은 분명해 보이지만 아직은 이런 실험용 기능들로 시장의 반응을 보는 것 같습니다.

대화형은 처음에 볼 때는 불편해 보이지만 익숙해지면 아주 편합니다.

기능이 있다는 것을 알고 필요할 때는 사용해 봅시다.

반응형
728x90

 

 

※ 엑셀 2019나 office 365 이상의 버전에서는 대화형 메모가 나와있습니다. 오늘은 구버전 메모기능에 대한 내용입니다.

 

1. 메모 삽입하는 방법

 

엑셀에서는 셀에 내용이나 수식을 넣어서 문서를 만들 수 있지만, 거기에 또다시 메모를 추가할 수 있습니다.

메모 기능의 위치는 [상단 매뉴] - [검토] - [메모] - [새 노트]에 있습니다.

검토항목에 있어서 가끔 혼돈이 될 때가 있습니다.

 

메모 삽입하기

 

표 형식으로 작성되는 엑셀에서 추가적인 설명을 도와주고 내용의 요약을 도와줍니다.

사용 빈도가 높은 기능으로 의존하는 분이 많습니다.

 

 

 

 

2. 메모 편집하기

 

기본 설정은 가만두면 편집을 할 수 없습니다.

메모가 있는 셀에 가서 메모 편집기능을 사용합니다.

아까 추가한 곳에서  [상단 매뉴] - [검토] - [메모] - [메모 표시/숨기기] 를 선택하면 메모를 선택하고 편집할 수 있습니다.

 

메모 편집하기

 

이러면 설정이 모로를 표시하기로 변경되기 때문에 단축키 Shift + F2로도 편집을 할 수 있는데요.

이 경우에는 편집 시키고 다른 셀을 선택하면 다시 숨기게 됩니다.

 

 

 

 

3. 메모의 색과 테두리 변경하기

 

메모의 테두리를 오른쪽 클릭을 합니다.(어느 정도 정확하게 클릭해야 합니다.)

그러면 "메모 서식" 메뉴로 들어갈 수 있습니다.

여기서 색이나 선을 변경할 수도 있지만 글꼴 여백등도 조절이 가능하니 여러가지로 디자인 할 수 있습니다.

 

메모의 서식 변경하기

 

 

320x100

 

 

4. 메모 복사해서 붙여 넣기

 

메모는 기본적으로 셀을 복사해서 붙여 넣을 때 같이 이동합니다.

새로 만들기 싫을 때는 이렇게 해서 편집하기로 수정하는 방식을 사용합니다.

 

메모 복사해서 붙여넣기

 

그리고 복사해서 붙여넣을 때 마우스 오른쪽 클릭을 해서 "선택하여 붙여넣기"를 사용하면,

메모만 붙여 넣는 것도 가능합니다.

 

주석이나 메모만을 붙여넣는 기능

 

 

반응형
728x90

 

 

엑셀에서는 다른 파일에 있는 내용을 불러 올 수 있는 삽입기능이 있습니다.

다른 파일을 삽입 할 때는 바탕화면의 아이콘을 배열해서 정리 하는 기능을 지원할 수 있습니다.

시각적으로 깔끔하고 직관적인 아이콘을 추가하도록 도와주어 어느순간 대세가 된 기능입니다.

 

아이콘

 

 

 

1. 아이콘 삽입기능

 

① 삽입에서 개체를 선택합니다.

 

아이콘의 위치는 [상단 매뉴] - [삽입] - [텍스트] - [개체]를 클릭합니다.

 

개체 선택하기

 

 

 

② 개체 매뉴에서 아이콘을 활성화 합니다.

 

"파일로부터 만들기" 탭을 선택하고 파일을 선택합니다.

그런 다음에 중요한 "아이콘으로 표시"의 체크박스를 활성화 합니다.

그러면 오늘 만들 파일 아이콘이 형성됩니다.

 

아이콘으로 표시하기

 

 

 

2. 아이콘 설정하기

 

이렇게 불러낸 아이콘은 여러가지로 설정할 수 있습니다.

매뉴를 오른쪽으로 클릭해서 개체 서식을 선택하고 변경을 할 수 있습니다.

다만 이 기능에 한해서는 그다지 많은 설정은 할 수없고 색이 선을 변경하는 것만을 하는 것 추천합니다.

아이콘 추가 기능이 처음 나왔을 때만해도 에러가 많았는데 그걸 안정화시키기는 했지만,

인터페이스가 예전 그대로인 점은 아쉽네요.

 

설정하기

 

 

320x100

 


 

요즘 문서에서 자주 사용하는 스타일

 

요즘은 한 문서에 모든 것을 넣어 위처럼 만드는 경우가 많습니다.

유독 한국에서 많이 사용하고 문서의 용량이 커져서 저는 개인적을 취향이 아닙니다.

하지만 다른 사람들이 선호함으로 안쓸 수도 없는 노릇입니다.

그래서 오늘은 개체 아이콘으로 삽입하는 기능에 대해서 알아보았습니다.

반응형
728x90

 

 

우리가 숫자를 표현할 때 정수형식, 소수점 형식을 많이 사용합니다.

하지만 경우에 따라서 분수 형식도 사용하고는 하는데요.

엑셀에서 어떻게 사용하는지 알아보도록 하겠습니다.

 

분수
분수 양식

 

 

 

1. 셀 서식의 분수 표기

 

셀을 선택하고 "오른쪽 클릭"을 하거나 단축키 ctrl + 1을 누릅니다.

이렇게 해서 [셀 서식] - [표시 형식] - [분수]에 들어가서 형식을 선택합니다.

0.2가 1/2로 표기가 됩니다.

 

셀서식에서 분수 선택하기

 

그러나 분수로 표현하기 어려운 경우에는 분모를 자동으로 반올림해서 선정합니다.

이 때는 한 자리수, 두 자리수, 세 자리 수로 나타낼 수 있습니다.

 

분수 표기
나누어 떨어지지 않는 경우

 

 

 

 

2. 사용자 지정 서식에서 설정하기(가분수 포함)

 

기본 설정인 "분수"에서는 한 두 세 자리수로 설정하거나, 분모를 2, 4, 8, 16, 10, 100으로 고정할 수 있습니다.

하지만 다른 옵션을 설정하고 싶을 때는 사용자 서식으로 들어가서 쳐야 합니다.

사용자 지정에서 형식을 직접 입력할 수 있습니다.

 

만능 사용자
셀서식의 사용자 지정

 

분수를 사용자 지정을 들어갈 수 있습니다.

 

  • # ??/?? → 분수 형식을 나타냅니다. 분자와 분모의 자리수는 ?의 개수만큼 만들어집니다.
  • # ??/35 → 분모를 설정합니다. 
  • 분모는 어떤 수든지 설정할 수는 있지만 분자가 반올림됩니다.
  • 가분수로 표시할 때는 앞의 숫자를 빼고 "?/?"를 입력할 수 있습니다.
    (예 : 5/2, 7/3을 표현할 수 있습니다.)

 

 

 

 

3. 자동 변경 서식을 사용합니다.

 

엑셀에서는 분수형식을 넣으면 기본적으로 날짜 서식으로 변경하도록 되어있습니다.

[입력] 1/3 → [변경] 1월 3일

하지만 분수로 입력하려면 "자연수 숫자/숫자" 형식으로 넣으면 됩니다.

예시) 7 1/5이나 5 2/5라고 입력합니다.

 

설명은 움짤이 좋습니다.

 

 

 

 

4. 모양만 분수로 나타내는 방법

 

서식 변경 기능을 끄고 진행할 수 있습니다.

' 기호를 앞에 두고 작성하면 엑셀은 자동서식 변경 기능을 사용하지 않습니다.

뭐든 텍스트로 받아들이게 되고 제가 쓴대로 됩니다.

 

가분수 넣기
' 기호 사용하기

 

 

 

320x100

 

반응형
728x90

엑셀에서는 각종 함수를 사용할 수 있습니다.

지원되는 함수만해도 각양각색 다양하고 엑셀이 대중적으로 사용되는 이유이기도 합니다.

 

엑셀의 함수들

 

 

그래도 하나씩 나한테 꼭 필요하지만 없는 것들이 있습니다.

이럴때는 VBA로 함수를 만들 수 있습니다.

엑셀에서 함수를 만드는 예제 포스팅은 아래를 참고하세요.

엑셀(EXCEL) VBA로 영문자에서 이니셜(Initial) 추출하는 함수 만들기(첫 머리글자 따는 코드)

 

엑셀(EXCEL) VBA로 영문자에서 이니셜(Initial) 추출하는 함수 만들기(첫 머리글자 따는 코드)

한글은 한자어를 사용해서 개념적으로 어려운 단어를 만들고 음절을 생략하는 식으로 약어를 만듭니다.영어에는 단어를 쓰고 난 후에 각 단어의 첫 영자를 따서 약어를 만듭니다. 축구에 관련

toast-story.tistory.com

 

그런데 함수에 대해서 만들때는 좋게 사용하지만 설명을 달아놓지 않으면 나중에는 전혀 사용하지 못합니다.

코드를 작성해 놓고 오랜만에 보면 어? 모르겠다 하는 경우가 한둘이 아니죠.

코드안에 주석으로 처리를 해두어도 되겠지만 엑셀 인터페이스에서 설명을 보는 방법을 알아보겠습니다.

기본적으로 사용자 함수는 작성할 수 있을 정도의 고수분들이 참고용으로 사용하는 기능이니 코드를 펼치겠습니다.

 

< 예시 코드 >

 

Function FilterOddEven(rng As Range, num As Integer) As Variant
'이 Function 항목은 오늘 사용할 함수입니다.

    Dim cell As Range
    Dim result() As Variant
    Dim count As Integer
    Dim i As Integer
    
    ' 입력 값 검사
    If num <> 1 And num <> 2 Then
        FilterOddEven = CVErr(xlErrValue) ' 숫자가 1, 2가 아니면 #VALUE! 에러를 나타냄
        Exit Function
    End If
    
    '결과 배열 만들기
    ReDim result(1 To rng.count)
    count = 0
    
    ' 홀수(1) 또는 짝수(2) 조건에 맞는 값만 필터링
    i = 1
    For Each cell In rng
        If Not IsEmpty(cell.Value) Then
            If (num = 1 And i Mod 2 <> 0) Or (num = 2 And i Mod 2 = 0) Then
                count = count + 1
                result(count) = cell.Value
            End If
        End If
        i = i + 1
    Next cell
    
    ' 결과 배열 크기조절
    If count > 0 Then
        ReDim Preserve result(1 To count)
    Else
        FilterOddEven = CVErr(xlErrNA) ' 결과가 없으면 #N/A 반환
        Exit Function
    End If
    
    ' 배열 반환
    FilterOddEven = result
End Function

'---------------------------------------------
'↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
' 오늘의 주제인 설명을 추가하는 코드입니다.

Sub AddDescription()
    Dim funcName As String
    Dim funcDesc As String
    Dim paramDesc1 As String
    Dim paramDesc2 As String

    ' ① 함수 이름을 정확하게 입력합니다.
    funcName = "FilterOddEven"
    ' ② 함수의 전체 설명입니다.
    funcDesc = "함수의 설명 - 주어진 범위에서 홀수/짝수 리스트를 필터합니다."

    ' ③ 매개변수 설명 설정
    paramDesc1 = "리스트를 필터할 범위"
    paramDesc2 = "필터할 기준을 선택합니다. 1 = 홀수번째 값, 2 = 짝수번째 값"

    ' ④ 함수 옵션 등록
    Application.MacroOptions Macro:=funcName, _
                              Description:=funcDesc, _
                              Category:="사용자 정의 함수", _
                              ArgumentDescriptions:=Array(paramDesc1, paramDesc2)
End Sub

 

 

이번에 예시로 들기 위해 작성해둔 사용자 함수를 사용하겠습니다. 위에 있는

"Function FilterOddEven(rng As Range, num As Integer) As Variant"에서 "End Function"까지는 그냥 예시입니다.

함수의 이름은 FilterOddEven이고 범위 하나와 숫자 하나를 계수로 받아들입니다.

오늘 소개하고 싶은 것은 아래 있는 "Sub AddDescription()" 구문입니다.

 

위의 코드의 ①, ②, ③번 부분은 설명과 같습니다.

함수의 이름과 함수 자체의 설명, 매개변수의 설명을 입력합니다.

④ Application.MacroOptions

 이 부분이 메크로(코드)의 옵션을 변경하는 적용 어플리케이션입니다.

 funcName 변수의 함수를 찾아서 Description(설명)과 Categoty(분류)를 변경합니다.

그리고 ArgumentDescriptions(매개변수)를 배열 형식으로 입력합니다.

 

※ 주의하실 점은 "Sub AddDescription()"  는 그냥 둔다고 되는 것이 아니고 F5나 ▶ 버튼을 눌러서 실행시켜야 합니다.

엑셀이 함수를 찾을 수 있도록 모듈을 만들어서 작성하거나 함수 바로 아래 작성해두고 단독으로 실행하면 됩니다.

한번만 실행하면 해당 문서에서는 계속 작동합니다.

 

설명을 보는 방법도 알려드리겠습니다.

아래 움짤로 보면 이해 되실 것 같습니다.

 

설명 확인하는 방법

 

함수를 다 타이핑해서 입력한 후에 함수키를 누르면 "함수 인수" 매뉴가 나타나는데 여기서 볼 수 있습니다.

함수키

 

방큼 코드를 통해 입력 한 설명이 정상적으로 입력 되었음을 알 수 있습니다.

좀 더 복잡하게도 넣을 수 있으니 사용자 함수를 여러개 사용하시는 분은 이런식으로 설명을 추가해 보세요.

함수를 사용하기가 편해지고 응용력이 높아질 것입니다.

 

잘 입력되어 있죠

 

 

 

 

반응형
728x90

 

엑셀에서는 글자에 밑줄을 그을 수 있습니다.

복잡하지는 않는 기능이고, 소개해 보겠습니다.

 

1. 셀에 글자에 밑줄을 긋기

 

셀을 선택하고, [상단매뉴] - [홈] - [글꼴] - "밑줄 아이콘"을 클릭합니다.

밑줄이 중요한 기능인 건 아닌것 같지만 기본 단축키 Ctrl + U를 제공합니다.

엑셀이 기본단축키에 좀 쪼잔한 편인데 이 기능에는 있네요.

 

밑줄 아이콘

 

이러면 셀 전체에 밑줄이 그어지게 됩니다.

기본적으로 실선을 사용합니다.

 

밑줄이 그어진 결과

 

 

 

 

2. 부분에 밑줄 긋기

 

이번에는 셀에 들어가 있는 문장에 부분만 밑줄을 긋는 방법입니다.

셀을 선택하고 더블클릭 혹은 F2를 눌러서 글자를 선택할 수 있습니다.

원하는 범위만 선택하고 위의 밑줄 아이콘이나 Ctrl + U를 눌러서 밑줄을 활성화 시킵니다.

 

부분 밑줄 긋기

 

그리고 이건 반대로 부분만 밑줄을 지울 때도 가능합니다.

 

 

 

 

3. 이중 밑줄 긋기

 

엑셀에서는 일반 밑줄과 이중 밑줄을 지원합니다.

실행하는 방법은 밑줄 아이콘 옆의 ∨ 단추를 클릭하는 것입니다.

그럼 이중 밑줄을 선택할 수 있습니다.

※ 여기서 특이한 점은 이중 밑줄이 선택된 상태에서 아이콘을 클릭하면 이중실선으로 만들지만,

단축키인 Ctrl + U을 눌러서 만들면 그냥 실선을 긋습니다.

 

이중 밑줄 선택하기

 

그리고 하나가 더 있는데 셀을 오른쪽 클릭하거나 Ctrl + 1을 사용하면 셀 서식을 열 수 있습니다.

[셀 서식] - [글꼴탭] - [밑줄]에서 엑셀에서 지원하는 4가지 형식을 선택해서 사용할 수 있습니다.

사실 회계형은 그냥 보기에는 거리가 좀 멀 뿐입니다.

 

이중에 하나 고르면 됩니다.

 

 

 

 

4. 밑줄 꾸미기

 

엑셀에서는 밑줄을 꾸미는 기능을 거의 제공하지 않습니다.

글자의 색을 그대로 따라가거나 글자체나 크기에 따라서 위치가 조금 바뀔 뿐입니다.

워드에서는 꽤 이것저것 제공하지만 엑셀에서는 조금 아쉽네요

 

글자체에 따라갑니다.

 

하지만 예전에 도형, 선을 그어서 밑줄에 효과를 준 것을 본적이 있습니다.

많은 상황은 아니겠지만 밑줄이 문서에 중요한 경우라면 궁여지책으로 사용 가능할 것입니다.

 

이거 사실 밑줄이 아니라 그림입니다.

 

 

반응형
728x90

 

 

표 모양의 데이터를 보기 편하게 셀 병합을 자주 사용합니다.

거의 99.999%의 엑셀 사용자가 사용하는 기능이 아닐까 싶습니다.

하지만 여기에 약간 약점이 있는데요. 우선 병합할 때는 왼쪽 위의 데이터만 남기고 나머지는 다 날라갑니다.

 

병합시 나타나는 메시지

 

 

그리고 또 하나의 문제가 병합을 해제할 때인데 한칸만 남기고 빈칸이 됩니다.

이게 보기도 싫고 수식이나 필터의 에러를 만들 수 있습니다.

이 빈칸을 처리하는 방법을 알아보겠습니다.

 

빈 칸이 되었습니다.

 

 

 

< 빈칸을 메꾸는 방법 >

 

① 빈칸을 포함해서 내용을 선택합니다.

 

빈 칸을 포함해서 선택하되 맨 아래는 꼭 내용이 있어야 합니다.

아니면 아무거나 적어서 거기까지 선택해야 합니다.

 

내용이 없으면 더미로 만들어야 합니다.

 

 

 

 

② F5 를 눌러서 이동 탭을 엽니다.

 

F5를 누르면 "이동 탭"이 열리는데 여기서 "옵션"을 누릅니다.

"빈 셀"을 선택하면 빈셀만 선택됩니다.

이동 탭을 사용하면 정해진 유형을 전부 선택합니다.

 

빈셀을 선택합니다

 

 

 

 

③ =을 눌러서 수식을 활성화 시킵니다.

 

바로 위칸을 선택하고 Ctrl + Enter를 눌러야 합니다.

그럼 아래 셀까지 전부 변하게 됩니다.

 

그럼 위에 칸으로 다 됩니다.

 

좀 더 많은 범위를 선택해도 이 방법은 먹힙니다.

아래 GIF를 통해서 좀 더 이해가 쉽기를 바랍니다.

 

움짤입니다.

 

반응형
728x90
목차

1. 함수 사용하기 (UNIQUE + SUMIF)

2. VBA로 목록 만들기

 

 

여러가지 분류로 표를 만들고 요약을 할 경우가 많습니다.

요약을 할때는 부분합을 구하는 방식으로 구하는 경우가 많은 오늘 그런 경우를 해결해주는 방법을 알아 보겠습니다.

아래 예시에 분류별로, 혹은 치수별로 총 수량을 구하는 방법 2가지를 소개하겠습니다.

 

오늘의 예시입니다.

 

 

 

1. 함수 사용하기 (UNIQUE + SUMIF)

 

마이크로 오피스 365 이상의 버전에서는 배열을 처리하는 기능이 강화되었습니다.

그중 하나가 UNIQUE 함수합니다. 이 함수는 목록을 입력받아서 중복된 값을 지우고 고유값 목록을 만들어 줍니다.

이걸 SUMIF와 결합하면 쉽고 간단하게 목록을 만들 수 있습니다.

 

 

UNIQUE(범위) : 범위내에서 목록을 반환합니다. 오피스365 버전 이후에는 바로 목록을 배열하는 기능이 지원됩니다.

SUMIF(범위,조건,더할 값) : "범위""조건"하고 맞을 때 "더할 값"에 값들을 찾아서 더합니다.

 

먼저 UNIQUE 함수가 동작하는 방식을 알아보겠습니다.

백문이 불여일견이니 아래를 보겠습니다. UNIQUE 함수를 사용하자마자 목록이 생겼습니다.

 

UNIQUE 함수 사용하기

 

 

이제 여기에 SUMIF만 적용하면 됩니다.

함수내용은 아래와 같습니다.

=SUMIF($A$2:$A$55,H2,$D$2:$D$55)

  • $A$2:$A$55 : 범위가 됩니다.
  • H2 : 조건이 됩니다. 분류에서 같은 값을 찾은 조건입니다.
  • $D$2:$D$55 : 더할 값들입니다. 스마하트하게 범위에서 데이터를 찾으면 같은 열이나 행에서 찾아줍니다.

 

SUMIF 적용하기

 

 

 

2. VBA로 목록 만들기

 

위에 함수들은 일정이상 엑셀에 숙련된 분이라면 빠르게 적용이 가능할 것입니다.

하지만 UNIQUE 함수가 오피스 365 이상에만 적용되는 점 때문에 사용이 어려울 수도 있을 것입니다.

그리고 VBA로 짠 문서가 사용이 편할 수도 있을 것 같아서 코드를 소개합니다.

우선 파일을 바로 공유합니다. 제가 쓰던 코드라서 가볍게 사용 가능 하셨으면 좋겠습니다.

 

VBA 예제.xlsm
0.63MB

 

 

소스코드 및 사용법은 아래와 같습니다.

 

Sub SummarizeData()
    Dim wsSource As Worksheet
    Dim wsTarget As Worksheet
    Dim criteriaCol As Long
    Dim valueCol As Long
    Dim startCell As Range
    Dim lastRow As Long
    Dim dict As Object
    Dim i As Long
    Dim category As Variant
    Dim value As Variant
    
    ' ① 워크시 기본 정보 입력하기
    Set wsTarget = ThisWorkbook.Sheets("실행")
    On Error Resume Next
    Set wsSource = ThisWorkbook.Sheets(wsTarget.Range("D3").value)
    On Error GoTo 0
    Set startCell = wsTarget.Range("F8")
    
    ' ② 먼저 입력 했던 값 선택하고 지우기
    Worksheets("실행").Range(startCell.Address).CurrentRegion.Select
    Selection.ClearContents
    
    ' 시트가 없으면 없다고 알려주고 끝내기
    If wsSource Is Nothing Then
        MsgBox "대상 시트가 존재하지 않습니다.", vbExclamation
        Exit Sub
    End If
    
    ' ③ 입력한 열의 이름을 열 번호로 변경하기
    criteriaCol = wsSource.Range(wsTarget.Range("D4").value & "1").Column
    valueCol = wsSource.Range(wsTarget.Range("D5").value & "1").Column

    
    ' ④ "기준"이 되는 열에서 마지막 칸 입력하기
    lastRow = wsSource.Cells(wsSource.Rows.Count, criteriaCol).End(xlUp).Row
    
    ' ⑤ 폴더를 초기화합니다. 참조에서 Microsoft Scripting Runtime를 활성화 시킵니다.
    Set dict = CreateObject("Scripting.Dictionary")
    
    ' ⑥ dict에 값이 없으면 폴더를 추가하고, 있으면 숫자의 값을 불러와서 더합니다.
    For i = 1 To lastRow
        category = Trim(wsSource.Cells(i, criteriaCol).value)
        value = wsSource.Cells(i, valueCol).value
        
        If category <> "" And IsNumeric(value) Then
            If dict.exists(category) Then
                dict(category) = dict(category) + CDbl(value)
            Else
                dict.Add category, CDbl(value)
            End If
        End If
    Next i
    
    ' ⑦ 결과 출력를 출력합니다. 참조가 추가되지 않으면 여기서 에러가 납니다.
    i = 0
    For Each category In dict.Keys
        startCell.Offset(i, 0).value = category ' 분류
        startCell.Offset(i, 1).value = dict(category) ' 합계
        i = i + 1
    Next category
    
    MsgBox "데이터를 정리하였습니다" & Chr(10) & "https://toast-story.tistory.com", vbInformation
    
End Sub

 

 

실행하는 방법

 

우선 실행하는 방법은 쉽습니다.

이 워크시트에 정리할 시트를 복사해서 붙여 넣고, 데이터만 있는 상태로 만듭니다.

그리고 시트이름 / 정리할 열 / 숫자가 들어있는 열을 각각 입력하고 옆에 회색의 실행버튼을 누릅니다.

그럼 아래와 결과가 정리됩니다.

결과를 복사해서 필요한 곳에 가져다 쓰시면 됩니다.

반응형

+ Recent posts