nØthing specia¡
Posts
129 posts
잉여짓-간단한 일을 어렵게 해보기
위의 그림과 같은 행렬(4x3)이 있을 때, 각 행의 합계를 구하는 문제를 생각해보자. 보통은 간단히 SUM()함수나 수식을 이용하여 계산하면 된다. 이번에는 잉여스럽게 행렬곱셈을 이용하여 각 행의 합계를 구하는 삽질을 해보자. A, B를 각각 m × n, n × 1 행렬이라고 하자. 이때 B 행렬의 원소는 모두 1이다. A와 B의 곱 AB는 m × 1 행렬이 된다. 그리고 곱행렬 AB의 각 행은 A행렬의 각 행 합계가 된다. 가령 다음과 같이 A와 B행렬이 있다면 , 두 개의 행렬의 곱셈 결과, 각 원소는 A행렬의 각 행의 합계이다. 보통 엑셀에서 이런 행렬곱셈은 MMULT()함수를 사용한다. 그런데 원소가 1인 B행렬은 합계를 구하기 위한 용도라서 셀에 둘 필요가

이거슨 숫자가 아녀~, 날짜로 바꿔
종종 엑셀이 주인의 말을 못알아 먹는다고 생각되는 경우가 있다. 문자로서 숫자를 입력하지만 엑셀은 덧하기/ 빼기/ 곱하기/ 나누기 와 같은 연산의 대상으로 알아먹는 경우이다. 숫자는 계산하는 용도로 주로 사용하지만, 관리나 식별을 위해 사용하기도 하고(버스 번호, 학급내 번호) 날짜를 표현하기 위해 사용한다. 아래와 같은 숫자를 우리는 숫자가 아닌 날짜로 인식할 수 있다. 아래의 그림에선 월/일/년 순서로 입력되어 있는데, 월/일/년이 쩜으로 구분되어 있기도 하고, 구분없이 붙여 놓은 경우도 있다. 또 월/일/년의 자리수도 1자리, 2자리, 4자리 등등 일관성이 없다.(뒤에 붙인 ; 은 컬럼구분자로 사용하기 위한 것이다. 컬럼구분자와 월일년 구분자가 겹치지 않는다면 없어도 된다) 다만 월일년의 순서

엑셀을 잘 표현할 수 있는 노래는...
특히 VLOOKUP 함수로 뭔가 찾으려고 했는데, 에러 뜨는 상황이 떠오릅니다. I have climbed the highest mountains I have run through the fields Only to be with you Only to be with you I have run I have crawled I have scaled these city walls These city walls Only to be with you But I still haven't found What I'm looking for But I still haven't found What I'm looking for...

셀 범위가 아닌 배열로 차트 만들기
차트를 그리려면 셀 범위에 데이터가 있어야 하는 게 당연하다. 그러나 반드시 그럴 필요는 없다. 셀 범위 대신 배열을 계열의 데이터로 대신할 수 있다. 다만 엑셀이 아닌 vba가 필요하다. 다음의 코드는 배열을 갖고 차트를 만드는 예이다. Sub ChartFilledWithArray() Dim i As Long Dim x(1000, 0) As Double Dim y(1000, 0) As Double x(0, 0) = 0 y(0, 0) = 0 For i = 1 To 1000 x(i, 0) = i y(i, 0) = y(i - 1, 0) + WorksheetFunction.NormSInv(Rnd())




