본문 바로가기

Code/기타

엑셀로 역행렬 구하기

엑셀은 간편하게 수계산할 경우 유리한데,
행렬계산도 가능하단 사실은 잘(?) 알려진 사실.

그런 데 막상 써볼려고 하니, 어떻게 구하는 지 아는 사람이 드문 사실 역시 알게 되었다. 
일단, 함수는 행렬(Matrix)의 첫 글자를 따서 역행렬은 MInverse(), 행렬곱은 MMult()이다.
인자로는 행렬의 영역을 지정하면 되는데, 문제는 여기서 부터이다.

일반적으로 엑셀의 결과는 하나의 셀에 표시되는 게 일반적이지만,
행렬은 결과 역시 행렬로 나와야 하기 때문에 여러 셀에 걸쳐서 나와야 한다.
그래서 값을 열심히 드래그하더라도 값이 제대로 나타나지 않는데,
방법은 이러하다. (이 말투는 오디오 북에서;;)

값이 나올 영역을 선택하고, (결과가 3x3짜리 행렬이면, 빈 칸을 3칸 3줄 드래그하고)
함수를 입력한다('=minverse(a1:c3)' 이런식으로). 단, 엔터를 치지 않는다.
제일 중요한 건 엔터 대신 Ctrl+Shift+Enter 를 눌러줘야 한다는 것이다.
이렇게 해야 원하는 결과를 얻어낼 수 있다.

* 참고목록