728x90
320x100

 

오늘의 예시는 가상으로 맴버가 월별로 일한 날을 넣어둔 시트입니다.

어느달이 처음이고 끝인지를 알고 싶다고 한다고 칩시다.

오늘은 저 데이터의 시작과 끝을 알아보는 배열 함수를 알아보겠습니다.

중간의 빈칸은 무시하고 시작과 끝만 출력하겠습니다.(아래 파일도 업로드 해 두었습니다.)

 

일을 시작한 월과 끝나는 월을 출력합니다.

 

1. 시작을 알아내는 함수

 

조금길어서 초보분들은 거부감이 있을 수 있지만 공부를 해 봅시다.

긴 함수를 볼 때는 안쪽에서부터 보는게 좋습니다.

 

시작을 알아내는 함수

 

※ 이 함수들은 둘 다 배열 함수임으로 Ctrl + Shift + Enter로 입력해야 합니다.

 

① NOT(ISBLANK(B2:M2))

 

ISBLANK는 빈칸일 경우 True, 빈칸이 아니면 False를 출력합니다.

여기에 NOT이 추가 되니까 꺼꾸로 빈칸이면 False, 빈칸이 아니면 True입니다.

즉 빈칸이 아닌 칸을 찾아 줍니다.

 

 

② MATCH(TRUE, NOT(ISBLANK(B2:M2)), 0)

 

Match는 똑같은 값을 찾아 냅니다.

그리고 여러개 똑같은 값이 있으면, 맨 처음 값을 출력합니다.

따라서 처음에 True 즉, 비지 않은 칸의 위치를 찾습니다.

 

 

③ INDEX($B$1:$M$1, MATCH(TRUE, NOT(ISBLANK(B2:M2)), 0))

 

index에 걸린 범위가 맨위의 1월~12월이 있는 행입니다.

맨 처음 빈칸이 아닌 월을 출력하게 됩니다.

이 INDEX의 범위를 변경하면 출력하는 값을 바꿀 수 있습니다.

 

 

 

2. 끝을 알아보는 함수

 

이 함수가 조금 더 어렵습니다.

하지만 한번 배열함수 원리를 이해하신 분이라면 금방 알수도 있습니다.

 

끝나는 값을 출력하는 함수입니다.

 

① (COLUMN(B2:M2)-1

 

Column이 배열함수로 들어가면, B2~M2 범위까지의 열 번호를 배열로 만듭니다.

첫 열이 이름이 들어갔음으로 2번째 부터 시작하기 위해 -1을 해 줍니다.

이 함수의 결과는 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}의 행렬을 출력합니다.

그리고 데이터가 세로로 되어있으면 row 함수로 변경해야 합니다.

 

 

② (B2:M2<>"")

 

범위내에서 비어 있지 않는 셀(<>"")는 True(혹은 1), 비어있는 셀은 False(혹은 0)이 됩니다.

위의 예에서는 아래 그림의 첫번째 줄은 {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}가 됩니다.

비어있으면 0, 내용이 있으면 1이 되는 것이죠

 

{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}

 

 

③ MAX((B2:M2<>"")*(COLUMN(B2:M2)-1))

 

앞에 두 값을 곱합니다.

 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} x {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0} = {0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 0}

여기에 MAX 함수를 가하면 마지막 달의 번호인 10이 됩니다.

여기까지 이해하시면 다 이해하신 것입니다.

 

 

④ INDEX($B$1:$M$1, MAX((B2:M2<>"")*(COLUMN(B2:M2)-1)))

 

INDEX 함수로 범위내에서 10번째 값을 출력하게 됩니다.

이 INDEX의 범위를 변경하면 출력하는 값을 바꿀 수 있습니다.

 

 

예시.xlsx
0.01MB

 


시작과 끝을 출력한다는 목표만 보면 이것 말고도 다른 방법이 많습니다.

다른 배열함수 구조도 많지만 한 가지를 소개해 보자는 취지에서 하나 작성해 봤습니다.

반응형
728x90

 

 

지난번에 소개했던 Auto Hot Key입니다.

https://toast-story.tistory.com/21

 

Auto Hot Key 2.0 메크로를 제작하는 스크립트 언어를 소개합니다(설치법, 기본 사용법)

목차 1. 다운 및 설치하기 2. 메크로 작성하기(F2 키를 메크로로 만들기) 오토핫키는 2003년에 공개된 스크립트 기반의 언어입니다. 스크립트 매크로를 짜기 위한 언어로 기능 자동화에 특화되어있

toast-story.tistory.com

 

 

 

개인적으로 오토핫키는 항상 유용하게 사용했던 스크립트 기반 언어입니다.

쓸 때는 굉장히 많이 사용하지만 또 쓰지 않을때는 거의 사용하지 않아 사용법을 잘 기억해 내기 어렵습니다.

몇년전에 만들어둔 외장하드 속 데이터를 전부 날린 덕에 필요하면 다시 짜야하고요.

좌우간 필요한건 다시 만들어야 하는데, 저도 자주 찾아보고 도움 받는 사이트를 공유합니다.

 

 

 

1. 공식 홈페이지의 포럼

 

https://www.autohotkey.com/boards/

 

AutoHotkey Community - Index page

Home Board index Search It is currently 25 Mar 2024, 15:41 All times are UTC-05:00 Ask for Help (v2) Get help with using AutoHotkey (v2 or newer) and its commands and hotkeys Subforum: Topics: 4841 Last post: Re: Multiple Keys by boiler, 33 minutes ago 484

www.autohotkey.com

 

커뮤니티를 통해서 발전해 나감으로 언어 또한 발전하는 Auto Hot key 방식상 공식 포럼이 근본적인 소스의 바다입니다.

많은 사람들이 문답을 통해서 정보를 주고 받은 것을 찾아 볼 수 있습니다.

검색을 통해서 혹은 직접 글을 작성할 수 있습니다. 모르는 것을 찾아보기 좋습니다.

단점이라면 영어라서 번역의 압박이 있습니다.

사람들과 문답을 통해서 발전해 나간다는 형식은 결국 대답하는 사람의 실력에 영향을 많이 받습니다.

게다가 질문과 대답이 깔끔하거나 의미가 명확하지 않은 단어를 사용하는 사람이 많다는 점이 있겠네요.

 

 

320x100

 

 

 

2. 튜터리얼 페이지(공식)

 

https://ahkscript.github.io/ko/docs/Variables.htm#equal

 

Variables and Expressions - Definition & Usage | AutoHotkey

A_DetectHiddenText DetectHiddenText가 설정한 현재 모드입니다 (On 또는 Off).

ahkscript.github.io

 

역시 공식 홈페이지인 튜터리얼입니다. 가장 유용합니다.

하지만 모든 명령어를 인덱스로 검색할 수 있는 속성과 사용법이 자세히 적혀 있습니다.

놓치는 기능이 하나도 없음으로 초보와 숙련자가 다 사용이 가능합니다.

다른 언어에서 수준급의 실력을 가지고 계신다면 아마 이 페이지만 통해서도 충분히 필요한 정보를 얻을 수 있습니다.

 

 

저는 편리하다 생각하는게 검색한 명령과 기능적으로 유사하거나 연관이 있는 명령어, 연산자에 대한 설명이 있습니다.

기능이 만족스럽지 않을때 링크를 이용해서 내가 필요한 속성이 있는지 찾을 수가 있죠.

 

하나를 찾으면 관련 기능도 소개합니다.

 

단점은 필요한 명령어를 정확하게 알고 있어야 한다는 것입니다.

Content로 목록이 정리가 되어있기는 한데 이걸로 찾는게 쉬운일이 아닙니다.

따라서 포럼등 기타 페이지들에서 기능별 명령어를 검색하고 이 튜터리얼에서 디테일한 정보를 얻으면 되겠습니다.

한글로 번역이 잘 안된경우도 있기 때문에 번역실력 혹은 검색기가 필요합니다.(구글 번역으로 충분하지만요)

영어가 익숙하신 분은 그냥 영문홈페이지로 바로 들어 가셔도 됩니다. 상단의 언어에서 설정할 수 있어요.

 

언어설정하기

 

 

 

 

3. 공식 한글 포럼

 

http://www.autohotkey.co.kr/cgi/contents.php?id=forum

 

AutoHotKey를 사용하는 사람들 > 토론

토론 오토핫키를 주제로 함께 고민하고 토론하기 위한 공간 입니다.

www.autohotkey.co.kr

 

 

여기는 공식 한글페이지로 한글로 대화한다는 큰 장점이 있는 곳입니다.

문답을 주고 받은 자료들도 있고 기본 학습내용도 얻을 수 있습니다.

그러나 문제는 결국 DATA 자체가 적다는 것입니다. 그래서 활용도가 높지 않습니다.

그래도 기초 강의가 조금 있고 명령어도 모아둔 것 자체에 의의를 가집니다.

뭐든 한국어 자료는 귀한 법이니까요.

 

 

 

 

4. 프날 오토핫키 강좌

 

https://pnal.kr/

 

프날 오토핫키 : 세상에서 가장 쉬운 오토핫키(AutoHotkey) 강좌

세상에서 가장 쉬운 프날 오토핫키 강좌입니다.

pnal.kr

 

언제 오토핫키를 안쓰다 쓰려니 문법이 하나도 기억이 안나는 일이 있었습니다.

저도 여기보고 처음부터 다시 배우는 기분을 느낀 적이 있습니다.

한글로 만들어진 교재자료중 최고라고 생각하고 양과 내용 모두 하나의 전문강의 수준으로 준비되어있습니다.

이런 분들이 많아져야 합니다. 프날님의 수고에 감사 드리고 싶네요

물론 강의 형식인 만큼 원하는 정보들만 모아서 보기에는 부적합 할 수 있겠네요.

그래도 Auto Hot Key가 맘에 들고 한번 좀 배워보겠다 싶으면 이 강의 정독을 추천합니다.

"Auto Hot Key v2.0" 버전 강의는 아래와 같습니다.

 

https://ahkv2.pnal.dev/

 

프날 오토핫키 v2

누구나 쉽게 배우는 오토핫키(AutoHotkey)를 위하여 처음 뵙겠습니다. 어쩌면 다시 뵙겠습니다. 저는 오토핫키 v1.1의 문법을 토대로 기초 강좌를 써왔던 프날입니다. 제가 오토핫키를 처음 배울 땐

ahkv2.pnal.dev

 

반응형

+ Recent posts