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

 참서리 (k5953)

추천:  2
파일:     무수금 구하기-1.xls (77KB) 조회:  1163
제목:   [RE]조건이 있는 구간의 갯수 구하기
     
 
'------------------------------------------------
Function nomoney(rngX As Range) As Long
'------------------------------------------------



    ' Dim rngX As Range: Set rngX = Range("data")
    Dim iRow As Long: iRow = rngX.Rows.Count / 3
    
    Dim rngY  As Range: Set rngY = rngX.Resize(3)
    
    Dim iTotal As Long: iTotal = 0
    
    Dim col As Range, icnt  As Long
    
    Dim iC As Long
    
    Dim iCols As Long: iCols = rngY.Columns.Count
    
    
    For r = 1 To iRow
            
        icnt = 0
            
        iC = 0
        
        For Each col In rngY.Columns
                
            iC = iC + 1
                
            ' 잔액이 있을 때
            If col.Cells(3).Value > 0 Then
            '-------------------------------------
            
            
                    '수금이 있을 때
                    If col.Cells(2).Value > 0 Then
                        
                        ' 수금했는데 10%이하 쬐끔만 했을 경우
                        If col.Cells(2).Value <= (col.Cells(3).Value + col.Cells(2).Value) * 0.1 Then
                        
                           icnt = icnt + 1 '수금 안 한 걸로 간주
                        
                        Else
                            
                           ' >=6
                           If icnt >= 6 Then iTotal = iTotal + 1
                           icnt = 0
                        
                        End If
                        
                        
                    ' 수금이 없을 때
                    Else
                        
                        
                        icnt = icnt + 1
                        
                       
                       
                    End If
            
          
          Else  '잔액이 없을 시
          '-------------------------------------
                If col.Cells(2).Value > 0 Then icnt = 0
            
            End If
            
            
            
           ' 6이상이면 무수급 카운팅
           
         If iC = iCols Then
                     If icnt >= 6 Then iTotal = iTotal + 1
         End If
           
            
            
        Next
        
        ' 다음 항목
        Set rngY = rngY.Offset(3)
    
    
    '---------------------------------------------------
    Next r
    '---------------------------------------------------
    
    
nomoney = iTotal
   
    
End Function
 
[불량 게시물 신고]  
김성기와....너무 감사합니다. 많이 공부해보겠습니다. 수식정도로만 생각했는데 VBA 까지도 써야하다니 놀랍습니다. 감사합니다!!11-28 (13:41)
삭제 ■신고
        
  

작성일 : 2018-11-27(16:59)
최종수정일 : 2018-11-27(17:50)
 


 ◎ 관련글

  제 목   작성자   날짜
조건이 있는 구간의 갯수 구하기 김성기 2018-11-27
[RE]조건이 있는 구간의 갯수 구하기 참서리 2018-11-27