일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 엑셀
- pyqt5
- win32com
- python3
- 파이썬
- Windows10
- 오피스
- 안드로이드
- html
- matlab
- Windows11
- 윈도우10
- windows
- 윈도우11
- 비주얼베이직
- python
- git
- pandas
- pythongui
- 아웃룩
- office
- Android
- 파이썬3
- 문자열
- 파워포인트
- VBA
- Outlook
- Excel
- 깃
- 파이썬GUI
Appia의 IT세상
비주얼베이직(Visual Basic, VBA) 엑셀(Excel)에서 사용할 수 있는 피보나치 수열 함수 만들기 본문
비주얼베이직(Visual Basic, VBA) 엑셀(Excel)에서 사용할 수 있는 피보나치 수열 함수 만들기
Appia 2021. 3. 26. 05:26비주얼베이직(Visual Basic, VBA) 엑셀(Excel)에서 사용할 수 있는 피보나치 수열 함수 만들기
정확히 언제인지, 대학 때인지 고등학교 때인지 피보나치 수열에 대해서 공부한적이 있습니다. 그래서 오늘은 피보나치 수열에 대해서 간단히 포스팅을 해볼까 합니다. 피보나치 수열이란 가장 쉽게 다음과 같은 공식이라고 생각하시면 쉬울 것 같습니다.
즉, 처음 0, 1 다음 부터 앞에 두수를 더한 결과를 그다음에 나타냅니다. 즉, 세 번째 자리에 0, 1를 더해서 1이나오고 넷번째 자리에는 1과 1을 더해서 2가 나옵니다. 이와 같은 방식으로 연산이 이루어지는 것을 피보나치 수열이라고 합니다.
그럼 이 부분에 대해서 코딩으로 작업을 해보도록 하겠습니다.
관련된 부분에 대해서 필요로 하는 사전 지식 :
1. 함수 생성 부분
비주얼베이직(Visual Basic, VBA) 함수 선언, 엑셀에서 선언한 함수 활용하기
2. 반복문
비주얼베이직(Visual Basic, VBA) 반복문 살펴보기 01(for-loop, for-each loop)
먼저, 구하고자 하는 피보나치 수열의 몇번째 값을 원하는지에 대해서 수를 입력받도록 할 것입니다. 그리고 나서, 이 입력받은 수가 0, 1일때는 그냥 0, 1을 나열해주면 됩니다. 그리고 2번째 이상일 때는 반복문을 돌면서, 첫번재 값(0)과 두번째 값(1)을 더해서 변수에 저장을 합니다. 그리고 첫번째는 이전값(ForVar)로 저장하고, 연산한 결과(Ans)을 현재 값으로 저장하도록 하여 루프를 돌리도록 합니다. 그 루프 끝으로는 연산된 결과인 Ans을 리턴하도록 하겠습니다.
간단히 짜보면 다음과 같은 결과가 나타날 것입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
Public Function Fibo(iNum As Integer) As Integer
Dim Ans As Integer
Dim ForVar As Integer
Dim CurVar As Integer
Ans = 0
ForVar = 0
CurVar = 1
If iNum > 1 Then
For Index = 1 To iNum - 2
Ans = ForVar + CurVar
ForVar = CurVar
CurVar = Ans
MsgBox (Ans)
Next
Else
Ans = iNum
End If
Fibo = Ans
End Function
|
cs |
일단, 처음 연산을 시작하는 것이 3번째 자리이기 때문에 입력받은 수에서 2를 빼줘야지만 정상적으로 연산을 할 수 있습니다.
그리고 간단히 예시로 적용해보면 10번째 피보나치 수열의 값은 89라는 것을 알 수 있습니다.
이와 같은 방식으로 앞선 코딩한 부분에 대해서 활용할 수 있습니다.
비주얼베이직(Visual Basic, VBA) 실행하기
이번 포스팅에서는 비주얼베이직(Visual Basic, VBA) 엑셀(Excel)에서 사용할 수 있는 피보나치 수열 함수 만들기라는 주제로 포스팅을 해봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.
'Programming > VisualBasic_VBA' 카테고리의 다른 글
비주얼베이직(Visual Basic, VBA) 엑셀, 특정 범위에서 셀 값이 없는 셀 위치 출력하기 (0) | 2021.07.13 |
---|---|
비주얼베이직(Visual Basic, VBA) 엑셀, 셀 값이 있는지 여부 확인하기 (0) | 2021.07.07 |
비주얼베이직(Visual Basic, VBA) 엑셀(Excel)에서 N까지의 합 구하는 함수 만들기 (2) | 2021.03.24 |
비주얼베이직(Visual Basic, VBA) 함수 선언, 엑셀에서 선언한 함수 활용하기 (0) | 2020.12.31 |
비주얼베이직(Visual Basic, VBA) 다차원 배열 선언 및 값 할당 하기 (0) | 2020.12.30 |