네이버 지식인에서 어떤분이 물어온 질문에 대한 답변을 다운 받았다.
kin.naver.com/qna/detail.nhn?d1id=1&dirId=102020101&docId=367281215&mode=answer
답변주신분의 파일을 공부겸 글로 남긴다.
=INDEX($B$1:$B$26,ROUND(1/MOD(LARGE(INDEX($D$3:$D$26+1/ROW($D$3:$D$26),),ROW(A1)),1),))
함수를 하나 하나 뜯어보자.
1. INDEX($D$3:$D$26+1/ROW($D$3:$D$26),)
방문자 숫자에 대한 배열로 만드는데 방문자 숫자가 같은 경우가 있으니 1/ROW($D$3:$D$26)로 배열값에 차이를 줄 수 있도록 했다.
{0.333333333333333;1.25;2.2;3.16666666666667;0.142857142857143;0.125;5.11111111111111;1.1;5.09090909090909;0.0833333333333333;7.07692307692308;8.07142857142857;9.06666666666667;10.0625;1.05882352941176;4.05555555555556;8.05263157894737;5.05;5.04761904761905;1.04545454545455;1.04347826086957;5.04166666666667;5.04;2.03846153846154}
2. LARGE(INDEX($D$3:$D$26+1/ROW($D$3:$D$26),),ROW(A1))
위에서 정의한 배열을 숫자가 ROW(A1) 번째 큰 숫자를 찾는다
{10.0625}
3. MOD({10.0625},1)
1로 나눈 나머지를 찾는다.
{0.0625}
4. ROUND(1/{0.0625},)
여기서 0.0625는 1/ROW(D3)과 같다. 따라서 역수를 취하면 ROW(D16)이다.
5. =INDEX($B$1:$B$26,{16})
시간배열 중에서 16행에 있는 값을 반환한다.
'엑셀' 카테고리의 다른 글
잘못된 제품 코드입력 방지 (0) | 2020.09.08 |
---|---|
판매액범위내에서 판촉비용 최대 찾기 (0) | 2020.09.07 |
중복 항목 입력 방지 (0) | 2020.09.07 |
특정문자열 이후의 문자 추출하기 (0) | 2020.09.06 |
예산한도 설정 (0) | 2020.09.06 |