PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2020/03/26 13:45:37
Name neo ov
Subject [질문] 프로그래밍 잘하시는 분...? (수정됨)
엑셀에 100개의 무작위 숫자들이 있습니다.

이중 80번째로 큰 숫자를 찾아낼수 있는 코드가 있을까요?

워크시트 사용하면 안되고 엑셀 어플리케이션 함수도 사용하면 안됩니다.

순전히 VBA 기본 코드만을 사용해서 함수 하나로 80번째로 큰 숫자를 찾아내야 하는데...

방법이 있을까요 ㅠㅠ

있으면 예시좀 알려주십시오... ㅠㅠ 감사합니다.


대략 엑셀에서 사용되는 LARGE 함수를 vba로 풀면 될것같은데요.. 어렵네요

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
나무12나무21
20/03/26 13:50
수정 아이콘
엑셀에 small function이 있는데 사용하시면 될 것 같은데요.
20/03/26 13:52
수정 아이콘
엑셀펑션 사용없이 vba기본 코드로만 만들어야 합니다..
참룡객
20/03/26 13:52
수정 아이콘
저같으면 조건부서식 쓸거같은데요
오클랜드에이스
20/03/26 13:52
수정 아이콘
일단 로직은 소팅 -> 정렬순서 80번째 조회로 하면 될것 같은데 VBA는 잘 모르겠어서... 의사코드만 대충 적어봅니다.
20/03/26 14:05
수정 아이콘
엑셀 워크시트 기능은 일체 사용하지 않고 오로지 베이직 코딩으로만 함수를 만들어야 합니다..
오클랜드에이스
20/03/26 14:49
수정 아이콘
네 그러니까요 VBA에도 이터레이터(연속된 자료 저장) 기능이 있을거라서...

하나의 리스트에 숫자 100개 때려넣고 크기순으로 정렬하는 알고리즘을 이용해서 나온 결과물의 80번째 자료를 출력하게 하면 되는거죠.
레필리아
20/03/26 14:03
수정 아이콘
VBA 기본코드가 뭔지 모르겠는데.. 두가지 방법이 생각나네요.
1. 100개 숫자 내림차순 정렬 -> 80번째 숫자
2. 100개 숫자 오름차순 정렬 -> 20번째 숫자 (80번째 큰 숫자 = 20번째 작은숫자)
2.1 100개 중 가장 작은 숫자 탐색 -> 탐색범위에서 제외 -> 99개 중 가장 작은 숫자 -> ... -> 80개중 가장 작은 숫자

편하신 방법으로 구현하시면 되겠습니다.
20/03/26 14:06
수정 아이콘
그러니까.. 그 내림차순 정렬을 코딩하는 방법이 필요합니다 ㅠㅠ 액셀 application function사용하지 않고요...
레필리아
20/03/26 14:10
수정 아이콘
VBA 버블소트, VBA 퀵소트 등으로 검색해보셔요
회색사과
20/03/26 14:04
수정 아이콘
Python이면

sorted(listName,reverse=True)[80]

이었을텐데...
20/03/26 14:25
수정 아이콘
sorted(listName,reverse=True)[79] 아닌가요? ^^
회색사과
20/03/26 14:35
수정 아이콘
으억 죄송합니다
오클랜드에이스
20/03/26 14:51
수정 아이콘
listName.sort()
listName[-80]

도 됩니다 크크크
Icosahedron
20/03/26 14:57
수정 아이콘
Function nth_large(rng As Range, n As Integer)

Dim num As Integer
Dim arr() As Variant
Dim temp As Variant
Dim i As Integer
Dim j As Integer

num = rng.Count
arr = rng

For i = 1 To num - 1
For j = i + 1 To num
If arr(i, 1) < arr(j, 1) Then
temp = arr(i, 1)
arr(i, 1) = arr(j, 1)
arr(j, 1) = temp
End If
Next
Next

nth_large = arr(n, 1)

End Function
-----
범위를 동적배열변수에 입력한 뒤, 배열을 내림차순으로 정리합니다.
그 후 배열에서 n번째 수를 찾습니다.
사용하실 땐 [=nth_large(A1:A100, 80)]으로 사용하시면 됩니다.
이 코드에서 내장 함수나 메서드는 사용되지 않았고, 유일하게 쓴 속성은 rng의 Count뿐인데 이마저도 허용이 안 된다면 더 복잡하겠네요.
20/03/26 15:39
수정 아이콘
이거네요 감사합니다.
20/03/26 16:02
수정 아이콘
흐 왜 안될까요... 그냥 n번째 열의 숫자를 출력하는데요...
20/03/26 16:08
수정 아이콘
아 됐네요
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
143573 [질문] 혹시 이런 오디오주변기기가 있을까요? [6] AKbizs3489 20/03/29 3489
143572 [질문] 경기도 기본재난소득 수령방법 질문입니다. [3] 거참귀찮네4299 20/03/29 4299
143571 [질문] 오랫동안 앉아있어야하는 생활로 인해 생긴 허리통증을 관리할만한 허리운동 소개부탁드립니다 [8] 보리밥5090 20/03/29 5090
143570 [질문] 봄가을에 맞는 외투 뭐뭐 있나요? [8] 연애잘합니다3689 20/03/29 3689
143569 [질문] 크롬에서 pgr 글올리기 글자수 부족으로 나오는 문제 [2] 가라한4112 20/03/29 4112
143568 [질문] 땅따먹기 느낌의 모바일게임이 있나요? [5] 빵떡유나4124 20/03/29 4124
143567 [질문] 롤토체스 잘 정리된곳 있을까요? 아니면 설명이라도... [9] 에밀리아클라크4791 20/03/28 4791
143566 [질문] 피파4 하시는 분들 멘붕오지 않으셨나요..?? [10] 삭제됨4299 20/03/28 4299
143565 [질문] 전 여자친구에게 빌려준 돈을 받고 싶습니다.(2) 진행상황+추가질문 [3] Misty6696 20/03/28 6696
143564 [질문] 신생아 카시트에 대한 질문입니다 [20] 곰비4528 20/03/28 4528
143563 [질문] [컴조립] 대성공입니다. 몇가지 질문 있습니다. [1] 연애잘합니다5194 20/03/28 5194
143562 [질문] 인터넷의 우측버튼에서 이거 삭제하고 싶습니다 [7] 틀림과 다름4646 20/03/28 4646
143561 [질문] 호르몬에 관한 질문(도파민,세로토닌) [8] 잠이온다3754 20/03/28 3754
143560 [질문] 이 시국에 가족들과 호캉스는 오버일까요? [13] WhiteBerry5710 20/03/28 5710
143559 [삭제예정] [대출] 소진공 경영안정자금 관련 질문입니다. [2] Binch3860 20/03/28 3860
143558 [질문] 놀면뭐하니 오늘 1부에 어떤 아티스트 나왔나요? [4] 부기영화3878 20/03/28 3878
143557 [질문] 협력업체 이직의 딜레마 [2] 삭제됨4559 20/03/28 4559
143556 [삭제예정] 해외에서 블코에 계정관련 문의를 하는법 없나요? [2] 삭제됨4128 20/03/28 4128
143555 [질문] 구형 노트북 하단에 붙어있는 제품키를 다른 컴퓨터에서 쓸 수 있나요? [1] 4027 20/03/28 4027
143554 [질문] 에어컨 공기청정기로 쓰기 질문드립니다. [6] 스핔스핔4426 20/03/28 4426
143553 [질문] 삼국지는 모바일로 안내는 이유가 뭔가요? [13] Ahri5703 20/03/28 5703
143552 [질문] 노트북 램 질문 [6] 보름달이뜨는밤에3917 20/03/28 3917
143551 [질문] 걸그룹 직캠러 추천해주세요 [1] 기다리다똥된다4636 20/03/28 4636
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기