더보기
Option Explicit
Sub 기초방74()
Dim rngAll As Range: Set rngAll = [a6:a31]
Dim rngA As Range
Dim rngX As Range
For Each rngA In rngAll
Set rngX = [h5].Offset([h5:h9].Find(rngA).Row - 5, [h5:l5].Find(rngA(1, 2)).Column - 8)
'= 단가표의 품목에서 row값을 겨울에서 column값을 가져와 rngX 즉 겨절별 품목단가의 위치를 rngX로 설정
rngA(1, 3) = rngX
Next rngA
End Sub
보통 이러한 문제는 엑셀에서 많이 나오는 문제이다.
해법은 [h5]를 기준으로 행방향으로 품목 열을 / [h5] 기준으로 열방향의 계절과의 교차점을 찾아가면 되면 문제이다.
365함수식으로 풀면,
품목이 되는 열과 계절이 있는 열을 각각 MAP 함수를 통해 LAMBDA함수의 인자로 넘긴다.
넘겨진 인자를 역시 H5 기준으로 XMATCH를 통해 원하는 위치의 값을 찾아 OFFSET하면된다.
'VBA > 엑사남_기초방' 카테고리의 다른 글
[기초방] VBA 100제 #76 [ 상위랭커 구하기 ] (0) | 2023.10.17 |
---|---|
[기초방] VBA 100제 #75 [ 필터링 구현하기 ] (0) | 2023.10.16 |
[기초방 [기초방] VBA 100제 #73 [ 문자열에서 숫자만 재정렬하기] (0) | 2023.10.12 |
[기초방 [기초방] VBA 100제 #72 [ 조건에 맞는 숫자 반환 및 정렬 ] (0) | 2023.10.12 |
[기초방] VBA 100제 #71 [ 전체누적 + 월별누적 ] (0) | 2023.10.08 |
댓글