반응형

수식 20

병합셀에도 조건부 서식 적용하기

1. 문제 가. 실패 1 병합셀인 경우 값이 없기 때문에 조건부 서식을 적용하더라도 값이 있는 셀에만 적용됩니다. A열에서 P열까지 선택하고, 홈 탭의 스타일 그룹에서 조건부 서식을 클릭하고, 새 규칙을 선택합니다. 그리고, '수식을 사용하여 서식을 지정할 셀 결정'을 선택하고 수식에 =AND(A$1"",WEEKDAY(A$1,2)>5)라고 입력하고, 서식을 누르고, 채우기로 노란색을 선택하고 확인 버튼을 누릅니다. 이때 weekday에 ,2가 입력되어 있는데, 이것은 일요일이 1이 아니라 월요일이 1이 되도록 요일 반환 형식(return_type)을 지정한 것입니다. 그리고, 확인 버튼을 누르면 토요일과 일요일에 노란색 칠이 되는데 병합셀에는 채워지지 않습니다. 나. 실패 2 그렇다고, or 조건을 줘서..

Excel 2024.04.20

VBA에서 SumProduct 사용하기

1. SumProduct 함수 SumProduct 함수는 Product, 다시 말해 곱한 값을 더해서 반환해 주는 함수입니다. 가. Product와 Sum함수를 이용하는 경우 아래와 같이 숫자1과 숫자2를 곱한 다음 합계를 낸다고 할 때 Product와 Sum 함수만 알고 있다면 먼저 줄별로 Product, 예를 들어 =product(a2:b2)를 한 후 C7셀에서 Sum을 하면 됩니다. 나. SumProduct 함수를 사용하는 경우 (1) 구문 =SUMPRODUCT(array1, [array2], [array3], ...) 배열로 되어 있는데 범위라고 생각하면 간단합니다. (2) 사용 예 배열을 세로로 해서 A열을 배열1, B열을 배열2로 지정하면 됩니다. 따라서, 위와 같이 곱한 것의 합을 구하려면 ..

EXCEL - VBA 2023.11.30

휴일에 해당하는 열에 색칠 하기

조건부 서식을 적용해서 특정한 셀에 색칠하는 경우가 일반적이고, 조건을 충족하는 한 줄 전체에 색칠하는 경우도 있는데 이 글을 참고 바랍니다. 1. 공휴일 여부 판단하기 근무일을 구하는 함수만 Workday, Workday.Intl, NetworkDays, NetWorkdays.Intl 등이 있기 때문에 공휴일은 근무일이 아닌 날로 정의하면 됩니다. 각각의 구문은 아래와 같습니다. 가. WORKDAY(start_date, days, [holidays]) start_date(시작일)로부터 며칠 후(days) 근무일을 구하는 함수인데, 옵션인 holidays는 Workday함수에 등록되지 않은 공휴일, 예를 들어, 설날, 광복절, 제헌절 등 우리나라 또는 기업에 특수한 휴일을 일정한 범위에 등록하는 것입니다..

Excel 2023.08.25

정수에 가까운 숫자 찾기(3)

4. aggregate 함수를 적용할 경우 min함수 대신에 aggregate함수를 이용할 수도 있습니다. 가. AGGREGATE 함수를 이용한 수식 Aggregate함수의 구문은 배열형인 경우 AGGREGATE(function_num, options, array, [k])입니다. function_num은 함수의 번호로 배열형이므로 최솟값에 해당하는 함수 번호는 5 - MIN이 아니라 15 - SMALL입니다. options는 오류값을 무시하는 2 또는 3, 6, 7을 사용하면 되는데, 2를 선택하겠습니다. array는 배열인데, 정수가 같은 것 중 차이가 가장 작은 값을 찾아야 하므로 1/(ROUND($B$9:$I$9,0)=ROUND(B$9,0))*(ABS($B$9:$I$9-ROUND(B$9,0)))입..

Excel 2023.08.07

정수에 가까운 숫자 찾기(2)

3. round함수를 적용할 경우 6.55는 정수 6보다는 7에 가까우므로 int 함수를 이용할 것이 아니라 Round함수를 이용하는 것이 보다 합리적입니다. 가. 정수 구하기 Round함수는 int함수와는 달리 반올림해서 표시할 자릿수를 지정해야 하므로, B10셀에 =ROUND(B9,0)이라고 입력하고 i10셀까지 끌어서 복사합니다. 나. 정수와 차이값 구하기 B11셀의 수식 반올림돼서 숫자가 커지면 음수가 나오므로 절댓값을 구하는 ABS 함수를 사용해야 합니다. 따라서, 수식은 =ABS(B9-B10)가 됩니다. 6.55에서 7을 빼면 -0.45이지만 절댓값이므로 0.45가 반환됐습니다. 마찬가지로 i열까지 복사합니다. 다. 같은 정수중 차이가 가장 작은 값 구하기 int함수로 할 때는 항상 원래 숫자..

Excel 2023.08.06

정수에 가까운 숫자 찾기(1)

네이버 카페(엑셀..하루에 하나씩)에 정수에 가까운 숫자에 색칠을 해달라는 질문이 있어서 답을 구한 절차를 설명하고자 합니다. 1. 질문에 대한 이해 질문을 하면서 답으로 6.02, 5.02, 11.90을 제시했는데, ①정수를 구하는 int함수를 적용하면 6.02와 5.02는 설명이 되는데, 12.30과 11.90는 12와 11로 정수값이 다른데 왜 11.90만 정수에 가까운 숫자가 되는지 설명이 안되고, ② 반올림을 해서 정수를 구하는 round(숫자,0) 수식을 적용하면 6.55가 7이 되기 때문에 왜 6.55는 안 되는지 설명이 안 되는 등 2개의 답에 모순이 있습니다. 아래와 같이 단계별로 답을 찾아가 보도록 하겠습니다. 2. int 함수를 적용할 경우 가. int 함수 B4셀에 =int(b3)라..

Excel 2023.08.05

텍스트로 된 수식의 값 구하기(4 - 1) - Evaluate 함수

1. Evaluate 함수 가. 정의 엑셀 이름을 오브젝트 또는 값을 변환합니다(Converts a Microsoft Excel name to an object or a value). 이름(Name)은 수식(Formula)이 될 수도 있고, 셀 주소 또는 범위 등이 될 수도 있습니다. 나. 구문 expression.Evaluate (Name) - expression은 오브젝트를 가르키는 변수로 Application, Book1.xlsx, Sheet1 등이 될 수 있습니다. - Name은 아래와 같이 다양한 형태가 될 수 있는데, VBA 에디터를 실행한 후 직접 실행창에서 간단히 결과를 확인할 수 있습니다. 다. Name의 종류 및 사용 예 Name 사용 예 Formulas 수식으로 텍스트로 된 수식도 가..

EXCEL - VBA 2023.07.19

텍스트로 된 수식의 값 구하기(1) - 곱하기만

아래와 같이 텍스트로 된 수식의 값을 구해보겠습니다. 1. 한자릿수 곱하기숫자1*숫자2에서 숫자 1이 1자리로 고정된 경우는 Left함수와 Mid함수를 이용해 값을 구할 수 있습니다. Left 함수의 구문은 Left(텍스트, 가져올 문자수)이며, Mid함수의 구문은 Mid(텍스트, 시작 위치, 가져올 문자의 개수)입니다. 따라서, D2셀에 A3셀의 수식의 값을 구하는 수식을 =LEFT(A3,1)*MID(A3,3,10)라고 입력하면 됩니다.위 수식에서 LEFT(A3,1)은 A3셀에서 왼쪽 한 글자를 가져오는 것이므로 1이 되고, MID(A3,3,10)은 A3셀에서 세 번째 위치부터 10개의 문자를 가져오라는 의미인데, A3셀을 보면 * 다음에 숫자 2만 있으므로 10이 아니라 1이라고 해도 되지만, 10이..

EXCEL - VBA 2023.07.16

Let 함수 - 변수에 값 할당 및 수식 계산

1. 정의변수에 값을 할당하고, 변수를 이용해 계산식을 정의하고 그 결괏값을 반환하는 함수입니다. 그러나 적용 범위는 Lambda 함수와는 달리 해당 수식에만 적용되는 한계가 있습니다. 적용 가능한 엑셀 버전 : Microsoft 365용 Excel, Microsoft 365용 Excel(Mac용), 웹용 Excel, Excel 2021, Mac용 Excel 2021 2. 구문=LET(name1, name_value1, calculation_or_name2, [name_value2, calculation_or_name3...]) name1(이름1)에 name_value1(값1)을 할당하고, 이런 식으로 여러 개의 이름과 값의 쌍을 지정할 수 있으며, 마지막에는 이들 이름을 이용한 수식이 와야 합니다. 3..

Excel 2023.03.22

일정한 간격으로 된 값 합계 구하기 - 매크로

사용자 정의 함수로 작성하는 것이 바람직하지만 굳이 만든다고 하면 매크로, Sub 프로시저로도 만들 수 있습니다. 사용자 정의 함수와 매크로는 모두 VBA를 이용하지만 아래와 같이 다른 점이 있습니다. 사용자 정의 함수 매크로 사용자 정의 함수를 실행하면 VBA에서 실행한 후 값을 반환합니다. 매크로를 실행하면 VBA에서 실행한 후 워크시트 함수를 이용한 수식을 반환합니다. =sum_interval(D4:N4,4) =SUM(IF(MOD(COLUMN($D$3:$O$3),2)=0,$D$3:$O$3)) 함수의 인수를 사용자 정의 함수에 입력함 함수의 인수를 매크로 실행시 입력 받음 1. 논리 범위와 간격을 입력받는 창을 실행하고, 입력 받은 값을 기준으로 배열 수식을 만들어 반환한다. Sub make_form..

EXCEL - VBA 2023.03.21
반응형