반복과정을 간단히 나타내기 위해, 매트랩에서는 행렬과 성분별 연산을 사용합니다. 이와 유사하게 , 엑셀에서는 배열수식이 있습니다. 또한, 엑셀에서, 산술연산뿐만 아니라 논리연산도 가능합니다.
이번글에서는, 배열수식, 논리식 등을 사용하는 방법에 대하여, 배열수식과 논리식의 조합, 논리식과 연산의 조합 등을 포함하여 말씀드리겠습니다.
배열수식은, 범위의 각 성분이 각각의 연산을 수행하는 것이며, 최종적으로, 각 성분에서의 연산결과값들로 구성되는 범위가 됩니다. 이 때 연산은 성분자체의 연산이나 외부객체와의 조합에 의한 연산이 될 수 있습니다.
엑셀에서 배열수식의 작성은, 모든 내용(범위, 연산자, ...)을 기입한 후, ctrl+shift+Enter (수식 중의 범위가 배열수식이 되게 함)를 누름으로써 작성되며, 전체 셀 내용의 좌우에 각각 '{', '}'이 표시됩니다(수식 구성내용 중의 범뮈가 배열수식이라는 것을 나타냄).
또한, 최종 수식값이 범위인 경우, 그 범위 크기만큼 영역을 지정 후, '=수식'을 기입합니다(이 영역에 최종값인 범위가 생성됨). 배열수식의 작성예(두 배열수식의 같은 성분사이의 곱하기 수행)는 다음과 같습니다.
단계 1 : 최종 수식값의 범위만큼 영역을 선택.
단계 2 : (Enter나 기일할 셀을 클릭 등을 하지 않고) 바로 '='를 누른 후( '='가 선택영역의 첫째셀에 기입됨), 배열수식 관련 범위를 선택.
단계 3 : '*'를 기입 후, 다른 배열수식 관련 범위을 선택.
단계 4 : ctrl+shift+Enter를 누름( 배열수식 연산이 수행되어, 최종수식값인 범위값이 처음 선택한 영역에 기입됨. 또한, 셀 수식내용의 좌우에 { }가 표시됨).
다른 배열수식 사용예들은 다음과 같습니다.
배열수식과 연산은,각각 일반적으로, 배열수식에서의 연산은 수식의 마지막과정까지 이루어지지만, sum( ), match( )등의 함수 인자로 사용 시는, sum( )이나 match( )함수 등의 연산 수행 전에 배열수식 연산이 종료되어, 최종값인 범위가 됩니다(이후 이 범위에 대한 sum( )이나 match( )함수 연산이 이루어짐).
이러한 경우의 사용예들은 다음과 같습니다.
또한, 위 사용예들의 대조 사례들은 다음과 같습니다.
대조사레 1 : sum(배열수식)에서 최종범위를 배열수식범위 크기만큼 지정한 경우는 sum값이 모든 범위에 반복하여 채워집니다.
대조사례 2 : sum(배열수식*배열수식)에서 ctrl+shift+Enter를 누르지 않고 작성하여, 배열수식이 되지 않고 범위로 남아있으면, '*'연산이 이루어지지 않아 '*'연산이 범위들의 첫번째 성분에 대해서만 행하여져서,
첫번째성분들의 곱의 합, 즉 첫번째성분들의 곱이 됩니다.
[최종범위를 배열수식범위 크기만큼 지정한 경우(에도), 첫번째성분들의 곱이 첫째 셀에(만) 채워집니다]
엑셀에서, 논리 작성과 관련하여, 명제는 '=' (와 같다), '<>' (와 다르다), '>' (보다 크다), '>=' (보다 같거나 크다)같은 비교연산자를 사용하여 작성합니다. 또한, 논리연산을 위해,
and( )함수 [예: and(A,B) : A이고 B이다], or( )함수 [예: or(A,B) : A이거나 B이다 ], not( )함수 [예: not(A) : A이지 않다],
xor( ) 함수[예: xor(A,B) : A이기만 하거나, B이기만 하다 (A,B 둘 다 인 경우, 즉 A이고 B인 경우는 아닌 것임) ] 같은 논리함수(논리연산자 아님)을 사용합니다.
이러한 논리의 논리값은 TRUE (참 임), FALSE (거짓 임)이 있으며, 각각, 1, 0과 같습니다. 또한, and(A,B)는, A,B 둘다 TRUE인 경우만 TRUE 이고, 나머지 경우(예: A가 TRUE이고 B가 FALSE)는 FALSE 이며,
or(A,B)는, A,B 둘다 FALSE인 경우만 FALSE이고, 나머지 경우(예: A가 TRUE이고 B가 FALSE)는 TRUE임을 알 수 있습니다.
그런데, 0*0=0, 0*1=0, 1*0=0, 1*1=1이므로, '*' 연산자 (즉, 곱하기 산술연산자)는 '그리고(and)' 의미의 논리연산자와 같다고 할 수 있습니다.
다중논리(즉 다중명제)를 성분으로 하여 구성되는 범위는, 배열수식들의 연산을 사용하여 쉽게 작성할 수 있습니다. 예를 들면, (b2=3 그리고 c2=2), (b3=3 그리고 c3=2), ...., (b7=3 그리고 c7=2) 내용으로 구성되는 범위는,
배열수식을 사용한 { (b2:b7=3) * (c2:c7=2) } 로 나타낼 수 있으며, 실제 예는 다음과 같습니다.
또한, 함수의 인수에 배열수식이가 있으면서, (배열수식이) 1개의 논리이면 안되며, 따라서 배열수식이 1개의 논리이면 *1(즉 '그리고 참인 명제') 등을 하여야 합니다. 이러한 예와, 함수인수에 1개 논리의 배열수식을 사용하여 오류계산이 되는 대조예는 다음과 같습니다.
논리조건과 조합된 함수(또는 작용)으로 다음과 같은 유형들이 있을 수 있습니다. 즉,
1. A*c : A이면, c (c는 숫자값임)
그렇지 않으면, 0
2. if(A,c,d) : A이면, c (c의 예: 숫자값, 문자값, ...)
그렇지 않으면, d
3. countif(논리범위,1) : 논리범위의 성분논리(즉 성분명제) 중에서 참인 경우의 개수를 셈. countif( ) 함수의 대상범위를 논리범위로, 찾을값을 1로 하는 것임.
이 방법은 sumif( ), averageif( ) 등과 vlookup( ), hlookup( ), index( match( ) ) [이 사이트의 '엑셀에서 countif( ), sumif( ), vlookup( ) 함수, index( match( ) ) 등을 사용하는 방법' 참조]
에도 유사하게 적용할 수 있습니다.
4. countifs(논리범위1,1,논리범위2,1) : 논리범위1의 성분논리가 참이고,앞 성분논리와 같은위치의, 논리범위2의 성분논리가 참인 경우의 개수를 셈. 이 방법은 sumifs( ), averageifs( ) 등에도 유사하게 적용할 수 있습니다.
이상의 방법에서, A는 논리(즉 명제)이며 논리배열수식도 될 수 있습니다(결과가 범위가 됨). 또한, 논리, 논래배열수식의 성분, 논리범위의 성분은 단일논리 뿐만 아니라 다중논리도 될 수 있다는 사실은 주목할만 합니다.
다중논리 범위는 논리 배열수식들 사이의 논리 연산으로, 용이하게 작성할 수도 있습니다.
이러한 논리조건과 조합된 연산의 대표적인 예시로서, '그리고' 다중논리 조건만족 시 해당하는 값을 반환하는 배열수식의 예와, 다중논리 범위(논리 배열수식들 사이의 논리연산으로 작성됨)와 index( match( ) )의 조합 예를 아래에 나타내었습니다.
이상으로, 엑셀에서 배열수식, 논리식 등을 사용하는 방법에 대하여 알아 보았습니다~
'꿀팁 모음 > 컴퓨터 생활' 카테고리의 다른 글
계산기 앱 추천 Big Button Calculator (0) | 2022.01.11 |
---|---|
엑셀에서 countif( ), sumif( ), vlookup( ) 함수, index( match( ) ) 등을 사용하는 방법 (0) | 2020.10.11 |
엑셀에서 필터를 사용하는 방법 (0) | 2020.04.03 |
엑셀에서 보이는 부분만 복사해 붙이는 방법 (0) | 2020.03.23 |
윈도우10에서 안전모드로 부팅하는 방법 (0) | 2020.02.27 |
댓글