나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 dew (dewdrop)

추천:  0
파일:     TEST72_Ans.xlsm (22.5KB) 조회:  314
제목:   [RE]일부 문자만 일치하는 품목의 합계 수량 구하기
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007):offce365

* 아래줄에 질문을 작성하세요 >>

안녕하세요. 
요즘 엑셀공부를 하는 중인데, 혼자서는 해결이 안되서 질문 드립니다.

이름이 비슷한 품목(뒷자리 숫자만 다름)들과 수량 데이터가 있는데,

1. 뒷자리 숫자가 가장 큰 문자만 다른 셀에 표기하되
2. 수량에는 이름이 비슷한 모든 품목의 합을 표기했으면 합니다.
(비슷한 이름이 없는 단독품목은 그대로 다른 셀에 함께 표기)

예제와 설명을 첨부하였으니 방법을 가르쳐주시면 감사하겠습니다.
==============[김현동님 글에 대한 답변입니다]==============

첨부화일 참고하세요.

Sub getDesiredValue()
    Dim rData As Range, rRow As Range
    Dim rTG As Range
    
    Dim oDIc As Object
    Dim lKey As Long, lSum As Long
    Dim vKey, vContent, vTemp
    
    '원본데이터
    Set rData = Range("A3:B" & Cells(Rows.Count, 1).End(xlUp).Row)
    
    '원하는 값 가져올 위치
    Set rTG = Range("D14")
    rTG.CurrentRegion.Offset(1).Clear   ' 초기화
    
    Set oDIc = CreateObject("Scripting.Dictionary")
    
    For Each rRow In rData.Rows
        vTemp = rRow.Cells(1, 1)
        vKey = Left(vTemp, Len(vTemp) - 2)
        lKey = Val(Right(vTemp, 2))
        lSum = rRow.Cells(1, 2)
        
        If oDIc.Exists(vKey) Then
            vContent = oDIc(vKey)
             If vContent(0) < lKey Then vContent(0) = lKey
             vContent(1) = vContent(1) + lSum
             
             oDIc(vKey) = vContent
        Else
            vContent = Array(lKey, lSum)
            oDIc.Add vKey, vContent
        End If
    Next
    
    For Each vKey In oDIc.keys
        rTG.Cells(1, 1) = vKey & oDIc(vKey)(0)
        rTG.Cells(1, 2) = oDIc(vKey)(1)
        Set rTG = rTG.Offset(1)
    Next

    oDIc.RemoveAll
    Set oDIc = Nothing
End Sub

 
[불량 게시물 신고]  
김현동감사합니다. 저는 아직 VBA를 쓸 줄 모르는데, 혹시 어떤 함수가 쓰이는지 여쭤봐도 될까요? 원리를 알면 여러가지로 응용할 수 있을 것 같습니다.09-20 (13:04)
삭제 ■신고
        
  

작성일 : 2019-09-17(17:46)
최종수정일 : 2019-09-17(17:46)
 


 ◎ 관련글

  제 목   작성자   날짜
일부 문자만 일치하는 품목의 합계 수량 구하기 김현동 2019-09-17
[RE]일부 문자만 일치하는 품목의 합계 수량 구하기 dew 2019-09-17