nØthing specia¡
Posts
129 posts엑셀 숫자 오름차순 정렬 질문드립니다
모 커뮤니티에 갔다가 다음과 같은 질문이 있길래 답변을 해주고 블로그로 옮겨 봅니다안녕하세요. 엑셀 숫자 오름차순에 질문이 있어요.. 엑셀 숫자가 오름차순을 하면 2018-2-100 2018-2-1000 2018-2-1001 2018-2-101 이렇게 되는데요ㅜㅜㅠ 2018-2-100 다음에 101이 나왔으면 좋겠거든요.. ㅠㅠㅠㅠ방법이 없을까요..? 감사합니다...도와주세요.. 핵심은 데이터 길이가 같은 것끼리 정렬을 하게 해주는 것인듯 하다. 그래서 컬럼을 하나 추가해 LEN()함수로 길이를 구한 후, 1차 정렬기준으로 길이, 2차 정렬기준으로 데이터를 해주면 길이가 같은 데이터끼리 정렬되어 전체적으로 원하는 결과가 나온다.
없으면 빌려쓰는 ArrayList
VBA에는 남다른 철학이 있다. '없으면 빌어다 써라~'. 그런데 '한 푼 줍쑈~'라도 하려면 뭔가 있어야 하는데, 그것이 CreateObject()함수이다. CreateObject()함수를 사용하여 닷넷의 ArrayList를 빌어다 쓸 수 있는데, 다음은 ArrayList를 이용한 정렬이다. Sub demoArrayList() Dim it With CreateObject("System.Collections.ArrayList") For Each it In Array("aa1", "aa2", "aa3", "aa3", "aa2", "aa6") .Add it: Next '// 오름차순 .Sort
(엑셀) 마지막 일자 구하기
이 팁을 알기 전에는 마지막 일자를 구하는 방법은 대충 이러했다. 어느 달의 마지막 일자를 구하려면 1) 한달을 더한 다음 2) 그 달의 1일을 날짜로 만들고 3) 다시 거기서 하루를 빼는 식 이었다. 그런데 다음과 같이 DATE()함수를 가지고 쉽게 구할 수 있다. =DATE(year, month, 0) 일자를 0으로 두면 month의 이전 달 마지막 날짜를 가져온다. 가령 6월이라면 =DATE(2019, 6, 0)은 '2019-05-31'을 돌려준다. 만일 1월이라면 어떨까? =DATE(2019, 1, 0)은 '2018-12-31'을 돌려준다. 만일 month자리에 0을 넣으면? =DATE(2019, 0, 0)은 '2018-11-30'을 돌려준다.
하스켈의 zipWith 함수 따라하기
함수형 프로그래밍 랭귀지인 Haskell의 Prelude모듈에는 zipWith()함수가 있는 데, 일단은 리스트를 받아서 리스트를 돌려주는 함수이다. 입력받은 리스트와 함수를 가지고, 각 리스트내 해당위치의 원소를 입력받은 함수에 적용한 결과를 리스트로 돌려준다. map함수와 유사하다. 하스켈의 zipWith() 함수 사용 예를 몇 가지 보면 짐작이 갈 것이다. *[1,2,3]과 [3,2,1]의 원소를 연산자 + 에 적용하여 4,4,4,의 결과를 리스트로 만든다 Input: zipWith (+) [1,2,3] [3,2,1] Output: [4,4,4] *5가 10개인 리스트, (replicate 10 5)와 1~10까지 10개의 리스트, [1..10]를 가지고 5의 거듭제곱(**)을 계산한다 5^1, 5
VBA의 파이썬 따라잡기
파이썬의 map() 함수는 built-in 함수로 list 나 dictionary 와 같은 데이터를 받아 개별요소를 함수의 인자로 전달하여 결과를 list로 형태로 반환해 주는 함수이다. 글로 설명하면def func(x): return x * 2func()는 평범한 파이썬 함수로 매개변수로 받은 정수를 두배로 곱하여 반환해 주는 함수이다. 이 함수에 인자를 map() 함수를 이용해 전달해 보자.>>> map( func, [1, 2, 3, 4] ) [2, 4, 6, 8]위와 같이 map() 함수는 for문과 같은 반복문을 사용하지 않아도 지정한 함수로 매개변수를 여러 번 전달해 그 결과를 리스트로 뽑아 주는 유용한 함수이다. VBA는 이게 매우 부럽다. 남들은 한 줄로 간결하게 처리할
