Please Enable JavaScript!
Gon[ Enable JavaScript ]

반응형

VBA 에서 If, Switch Case 와 같은 분기문에 조건을 만들기 위해서 들어가는 것이 논리 연산자 입니다. 논리 연산자는 참/거짓을 비교해서 참/거짓의 결과값을 반환합니다. And, Or, Xor 과 같은 두 개의 피연산자가 필요하므로 이항 연산자라고 하며, Not 과 같이 단일 피연산자만 있으면 되는 경우 단항 연산자라고 합니다.

 

 

And 연산자

 

조건에 들어가는 두 Boolean 식에 대한 논리곱을 수행합니다. 그러니까 두 식이 모두 True 인 경우 True 가 되며, 하나라도 False 인 경우에는 False 를 반환하게 됩니다.

 

Sub LogicalAnd()
   
    Dim score1 As Integer, score2 As Integer, result As String
 
    score1 = 20
    score2 = 1
   
    If score1 >= 60 And score2 > 1 Then
        result = "pass"
    Else
        result = "fail"
    End If
   
    MsgBox result
 
End Sub

 

엑셀 VBA 이항 논리 연산자 And, Or, Xor 와 단항 논리 연산자 Not 사용하는 방법

 

 

Or 연산자

 

Or 연산자는 두 Boolean 식에 대해 논리합 또는 논리 포함을 수행합니다식 중 하나가 True이거나 두 식이 모두 True인 경우 Or True를 반환합니다. 두 식이 모두 True인 경우 Or False를 반환합니다. 아래 함수는 score1 >= 60 True 이고 score2 > 1 False 이므로 Or 연산자로 인해 결국 True 가 되는 것이죠.

 

Sub LogicalOr()
   
    Dim score1 As Integer, score2 As Integer, result As String
 
    score1 = 60
    score2 = 1
   
    If score1 >= 60 Or score2 > 1 Then
        result = "pass"
    Else
        result = "fail"
    End If
   
    MsgBox result
 
End Sub

 

엑셀 VBA 이항 논리 연산자 And, Or, Xor 와 단항 논리 연산자 Not 사용하는 방법

아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 VBA 나머지를 구하기 위한 Mod 연산자와 구하는 연산자 사용법
엑셀 VBA 연산자 용해서 String 문자열을 합치기
엑셀 VBA 날짜 데이터를 비교하거나 연산하기
엑셀 VBA IF 지시 구문 사용하는 방법
셀 VBA 반복문 For Next 사용하기

 

 

 

 

Xor 연산자

 

Xor 연산자는 배타적 논리합이라고 합니다. 두 식 중에서 하나만 True 인 경우 Xor True 를 반환하게 됩니다. 두 식 모두 True 이거나 False 라면 False 를 반환하겠죠. 그럼 Or 과의 차이점은 무엇일까요? Or 은 두 식 모두 True 이면 True 를 반환하지만 Xor False 를 반환합니다. 

 

Sub LogicalXor()
   
    Dim score1 As Integer, score2 As Integer, result As String
 
    score1 = 60
    score2 = 3
   
    If score1 >= 60 Xor score2 > 1 Then
        result = "pass"
    Else
        result = "fail"
    End If
   
    MsgBox result
 
End Sub

 

엑셀 VBA 이항 논리 연산자 And, Or, Xor 와 단항 논리 연산자 Not 사용하는 방법

 

 

Not 연산자

 

Not 연산자는 식의 논리 부정 연산을 수행합니다. 그러니까 결과 값이 True 일때 not 연산자를 사용하면 False 가 되는 것이죠. 아래 식에서 Not 이 없다면 두 식이 참이기 때문에 결과값은 True 입니다. 하지만 Not 연산자로 인해 식 하나가 False 로 바뀌었기 때문에 False 가 되는 것입니다.

 

Sub LogicalNot()
   
    Dim score1 As Integer, score2 As Integer, result As String
 
    score1 = 60
    score2 = 3
   
    If score1 >= 60 And Not score2 > 1 Then
        result = "pass"
    Else
        result = "fail"
    End If
   
    MsgBox result
 
End Sub

 

엑셀 VBA 이항 논리 연산자 And, Or, Xor 와 단항 논리 연산자 Not 사용하는 방법

아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 VBA 나머지를 구하기 위한 Mod 연산자와 구하는 연산자 사용법
엑셀 VBA 연산자 용해서 String 문자열을 합치기
엑셀 VBA 날짜 데이터를 비교하거나 연산하기
엑셀 VBA IF 지시 구문 사용하는 방법
셀 VBA 반복문 For Next 사용하기
반응형
Posted by 녹두장군1
,