책 내용 질문하기
엑셀 실기 섹션 별 문제 문의
도서
2019 시나공 컴퓨터활용능력 1급 실기
페이지
1
조회수
240
작성일
2019-07-03
작성자
탈퇴*원
첨부파일

섹션6

문제1-1

 

=INDEX($B$2:$F$2,1,MATCH(MAX(B3:F3),B3:F3,0))

이 문제에선 왜 인덱스 범위만 절대 참조하고 매치나 맥스 범위는 절대 참조 하지 않은거죠?

절대 참조부터 이해가 안가니까 함수풀떄 자꾸 막혀요 ㅠㅠ 헷갈릴땐 전부 절대참조 해버리니까 답이 자꾸 틀려요.

문제를 보고 아 이 범위는 절대참조해야겠다라고 판단하는 거에요 아니면 문제가 들어갈 답이 있는 표를 보고 판단하는건가요?

 


섹션 7


문제 P103

 

무작정 따라하기 3

 

=SUMPRODUCT(D25:F25,$B$21:$D$21)

여기선 왜 뒤에 범위만 절대참조 해준건가요?


P107

 

기출1-3

 

=SUMIF($C$25:$C$33,"고급형",D25:D33)/COUNTIF($C$25:$C$33,"고급형")

여기서 SUMIF 함수 ,앞에 범위는 절대 참조하고 ,D25:D33 이 범위는 왜 절대참조 하지않은거죠?

 


p120

 

문제9

 

해당임대인의 성명을 구하라고 하였는데 index 찾을 범위에 임대인 이름이있는 범위인 D11:D29로 왜 하지않은건가요??

 


p133

 

문제2-3

 

 -MATCH(  (MAX(  ( 매치랑 맥스 사이에 괄호가 왜 2개 들어간건가요?

-그리고 ( MAX(   ($B$18:$B$33=$B11)*F$18:F$33)   ) 여기서*F$18:F$33 이 범위를 전체 고정 안하고 숫자 범위만 참조 한건가요?

 

 

 

섹션13

 

P178

 

문제1

 

-변경셀 변경 값에 0.1 이 아니라 10% 입력해도 되나요?

 

 

 


섹션18

 

p232

 

문제5


-Cells(a, 6) = Format(Val(txt단가) * Val(txt수량), "currency")

여기에 답을 format(txt단가*txt수량,"#,###")

이렇게 하면 오답인가요? 단가와수량앞에 꼭 val을 붙여야하나요? 그리고 통화기호를 붙여라고 했는데 형식으로 나타내면 안되는건가요>?

 

 

 

 

p233

 

문제8

 

-Target.Font.Size = "14"

14는 숫자인데 왜 쌍따옴표를 해주나요?
원래 사용자 정의함수나 if문 입력 할 떄 숫자는 쌍따옴표 안했던거 아닌가요?ㅠㅠ

 

 


p246

 

문제1-2

 

체크하면 남학생,해제하면 여학생이 표시되도록 하라 하였는데 문제에 표시란 제시를 보고 캡션을 사용하는걸 어떻게 확인하고 구분해서 입력하나요?

Chk성별 컨트롤이 캡션이란 말인가요?


문제3

 

 Format((Val(txt국어) + Val(txt영어) + Val(txt수학)) / 3, "0.00")

-여기에 txt국어 영어 수학 앞에 val은 꼭 붙여야하나요? 문제엔 숫자형식으로 입력하란 얘기가 없어서요

-그리고 format함수말고 round 함수 쓰면 오답인가요?


-Cells(a, 8) = cmd성별.Caption 여기에 캡션은 어디에 위치해 있나요? 어디서 확인하죠?

 

 

 

 

p247

 

문제2-3

 

   스위치 = 0
    참조행 = 3
    For Each aa In Range("d4:d7")
        참조행 = 참조행 + 1
        If aa.Value = txt고객명 Then
            txt고객등급 = Cells(참조행, 5)
            txt매출금액 = Cells(참조행, 6)
            txt결제방식 = Cells(참조행, 7)
            스위치 = 1
            Exit For
         End If
    Next
    If 스위치 = 0 Then
        MsgBox "조건에 일치하는 자료가 없습니다."
    End If


너무어려워서 이해가 안돼요 ㅠㅠ

 

-처음에 스위치 =0 은 고정값인건가요? 다른 문제가 이런 형식으로 나와도 처음 입력값은 스위치=0 입력하면 되나요?

 

-참조행=3  여기서 3은 워크시트에 3행(고객명이 있는 칸)을 가르키나요?  참조행 값은 문제마다 바뀌는건가요?

 

-for each aa in range("d4:d7")

-여기서 aa는 변수 이름인가요?

-범위는 왜 d4:d7만 사용한건가요?

-마지막에 스위치=1 은 exit for 전에 항상 입력하면 되는 고정값인건가요?

 

 

 

p248

 

문제3-3

 

참조행= Cmb종류.ListIndex + 7  <- 여기에 있는 cmb종류는 참조표 h6 셀 에 있는 보험종류 인건가요?

 

 


문제4-2

 

-문제에서 lst과목을 선택했을 때만 입력하라고 하면 If lst과목 = True Then 이렇게가 아닌가요?

 If IsNull(lst과목.Value) Then 왜 이렇게 입력하나요??  과목을 선택하지 않았으면을 입력한건가요?

그리고 lst과목 뒤 value는 왜 입력한거죠?

 


-lst과목.ListIndex =0  이걸 lst과목.ListIndex(0) 이렇게 입력하면 오답인가요?

-참조행=lst과목.ListIndex 여기는 다른 문제와 다르게 (예:p248 문제3-3) 왜 listindex뒤에 행 위치를 플러스 + 안해주나요?


-list랑 listindex 뭐가 어떻게 다른건가요? 설명 좀 자세히 부탁드려요.

 

답변
2019-07-05 20:30:31

안녕하세요.

섹션6
문제1-1
INDEX(범위, 행번호,열번호) 형식입니다.
범위는 [G3:G6] 영역에 식을 입력할 때 변하지 않는 영역으로 사용합니다. 그래서 절대참조한 것이구요,
행번호는 1로 고정이고,
열번호는 MATCH 함수로 구합니다.
MATCH(찾을값, 범위, 옵션) 형식으로 MAX(B3:F3)의 최대값을 구합니다.
G4셀에 수식을 입력할 때 최대값 영역은 MAX(B4:F4)로 변경되어야 하죠. 그래서 절대참조를 하지 않은 것입니다.
MATCH의 범위 B3:F3도 G4셀에 수식을 입력할 때는 B4:F4로 변경되어야 합니다.

차례차례 생각해 보셔야 합니다.
변하지 않는 고정범위는 절대참조해 주시면 됩니다.

섹션7
103쪽
3번
[G25:G29] 영역에 수식을 작성해야 합니다.
참조하는 표3의 영역인 [B21:D21] 영역은 모든 수식에서 고정값을 가집니다. 변하지 않는 영역이므로 절대참조합니다.

107쪽
1-3
SUMIF(조건이 적용될 범위, 조건, 합계를 구할범위) 형식입니다.
조건이 되는 등급필드 C25:C33 영역은 판매량, 단가, 원가비율(D34:F34)를 구하는 동안 같은 범위여야 하므로 절대참조합니다.
합계를 구할 범위는 판매량 단가 원가비율로 범위가 변경되므로 절대참조하지 않습니다.


120쪽
문제9
INDEX 함수의 범위에서 행번호와 열번호를 구해주어야 하는데,
이름이 있는 범위만 선택하는 경우 조건을 비교하기 어렵습니다.
물론, 다른 방법으로 문제를 푸셔서 정확한 답이 나오면 시험장에서는 정답으로 인정될 수 있습니다.

133쪽
문제2-3
- MATCH( (MAX(조건)), 범위, 옵션) 의 형식으로 사용한 것입니다.
- 수식을 채울 때, C11:C14 영역까지는 연구과제(F18:F33)을 참조해야하고, D11:D14 영역에서는 연구논문(G18:G33)을 참조해야 하므로 행은 고정하고 열은 고정하지 않습니다.


섹션13
178쪽
네, 됩니다. 0.1과 10% 모두 인식합니다.


섹션18
232쪽
문제5
통화기호를 붙이려면 currency로 지정해 주셔야 합니다.
val은 위쪽에서 이미 사용이 되었기 때문에 사용하지 않으셔도 무방합니다. val이 있고, 없고 결과 차이가 없습니다.

233쪽
Target.Font.Size 에서는 큰따옴표를 넣어도 프로그램에서 인식이 됩니
다. 큰따옴표 없이 작성하셔도 동일한 결과가 나옵니다.
속성을 이용한 코드로, 사용법을 따로 익혀 두셔야 합니다.

246쪽
문제1-2
체크 박스에서 화면에 표시되는 내용은 캡션 속성에서 지정합니다.
chk성별은 컨트롤 이름이고, 화면에 표시되는 내용이 캡션입니다.

문제3
문제 지시사항에 언급되지 않았으므로 val 없이 사용하셔도 무방합니다.
문제에서 함수를 지정하지 않았기 때문에
결과만 정확하다면 함수는 임의지정해서 사용하셔도 됩니다.

chk성별_Click 프로시저에서 조건에 따라 cmd성별.caption을 설정했습니다.
코드에서 설정된 값을 가져오게 됩니다.


247쪽
문제2-3
스위치변수는 임의로 변수 이름을 지정한 것입니다.
스위치변수를 이용한 이유는 txt고객명에 입력한 값과 동일한 데이터가 있었는지를 파악하기 위해 넣은 것입니다.
스위치변수의 초기값으로 0을 넣고, txt고객명과 같은지 비교하는 if문 안에 스위치=1을 넣었습니다.
그런 다음 for each문 밖에서 스위치 변수를 비교합니다.

스위치 변수가 초기값 그대로 0 이면 txt고객명과 같은 데이터가 없다는 의미가 되고,
스위치 변수 값이 1로 변경되었다면 txt고객명과 같은 데이터가 있다는 의미가 됩니다.

스위치 변수는 on/off의 개념으로 1과 0을 사용한 것이데요, 다른 숫자를 사용하셔도 상관은 없습니다.

비슷한 유형의 문제가 나오면 스위치는 이런 식으로 사용하셔도 됩니다. 물론, 문제 조건에 따라 변경될 수 있습니다.


처음에 참조행에 3을 넣고, for문의 첫번째에 참조행=참조행+1을 실행하면 참조행은 4가 됩니다.
이 4는 워크시트에서 고객명이 들어 있는 범위의 첫번째 행을 의미하는 것입니다.
즉, 첫번째 고객이 들어 있는 '김현진'은 워크시트에 4행에 입력되어 있습니다.

첫번째 데이터를 비교할 때는 참조행이 4, 두번째 데이터를 비교할 때는 for 문 안에 들어 있는
'참조행=참조행+1'를 또 실행하게 되므로 참조행은 5 이렇게 1씩 증가하게 되는 것입니다.

시험에서는 제시된 문제에 따라 초기값이 달라질 수 있습니다.

aa도 변수명입니다.
워크시트의 값을 조회하는 문제이므로 데이터가 들어간 표1의 [D4:D7] 영역 동안 검색을 하면 됩니다.
스위치=1은 앞서 설명드렸듯이
스위치 변수 값이 1로 변경되었다면 txt고객명과 같은 데이터가 있다는 의미하므로 for문을 빠져나옵니다.


248쪽
문제3-3
cmb종류는 폼에 위치한 컨트롤이름입니다.
참조표의 내용이 cmb종류 컨트롤에 추가되어있기는 합니다.


문제4-2
단순한 컨트롤이 아니라 바운드된 필드로 참조할 때,
필드의 초기값은 Null이므로 값을 입력하지 않은 것은 IsNull로 검사합니다.

IsNull( )은 유효한 데이터를 전혀 포함하지 않으면 참(True)을, 포함하면 거짓(False)을 반환하는 함수입니다. 주로 목록상자에서 사용됩니다.

value는 lst과목에서 선택한 값을 의미합니다.
lst과목의 값이 NULL 인지 확인하는 것이죠.


lst과목.Listindex에 0을 설정하는 것입니다. 첫번째 목록이 선택되게 하려는 것입니다.
lst과목.Listindex=0 으로 사용합니다.
동일한 결과가 나오면 시험장에서는 정답으로 인정될 수 있습니다.

list와 listindex
이 문제의 경우
참조행에 lst과목.listindex 라고 정의해 두고, lst과목.list(참조행,0) 으로 사용하고 있는 것입니다.
ListIndex 는 리스트의 인덱스를 설정하는 속성이고,
그 ListIndex 위치의 데이터는 .List(행,열) 속성을 이용하셔 워크시트의 셀에 넣을 수 있습니다.
------
아래 첫번째 코드는 목록상자나 콤보상자에서 특정 행을 추출할 때 사용하고, 두번째 코드는 워크시트의 셀안의 내용을 가져올때 사용 하게 됩니다.

<첫 번째 코드>
참조행 = lst과목.ListIndex
입력행 = [a2].Row + [a2].CurrentRegion.Rows.Count
 Cells(입력행, 1) = txtID
 Cells(입력행, 2) = txt이름
Cells(입력행, 3) = lst과목.List(참조행, 0)
Cells(입력행, 4) = lst과목.List(참조행, 1)
Cells(입력행, 5) = lst과목.List(참조행, 2)
Cells(입력행, 6) = lst과목.List(참조행, 3) - (lst과목.List(참조행, 3) * txt할인율)

여기에서 참조행에 lst과목.listindex 라고 정의해 두고
lst과목.list(참조행,0) 으로 사용 하고 있습니다.

이것은 참조행이 어디인지 지정해 놓고 lst과목에서 참조행의 위치와 0인.. 그러니깐 참조행이 만약 2이고 찾고자하는 것이 0행에 있다는 그런 뜻이 됩니다.

<두 번째 코드>
참조행 = lst열차종류.listindex + 4
입력행 = [a3].row + [a3].currentregion.rows.count

cells(입력행, 1) = txt번호
cells(입력행, 2) = cells(참조행, 8)
cells(입력행, 3) = cells(참조행, 9)
 cells(입력행, 4) = txt매수
cells(입력행, 5) = txt매수 * cells(참조행, 10)

이 문장에서는 lst열차종류에서 참조되는 행의 위치를 이미 지정하였습니다. 그리고 사용 할때는 8,9와 같이 엑셀에서 위치하는 열을 미리 적어 둔 것입니다.

한마디로 말하면.. 첫번째 코드는 폼안의 list박스내의 자료를 찾아서 셀에 입력 하는 것이구요.

두번째 코드는 워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인 하는 것입니다.

 

좋은 하루 보내세요. 

  • 관리자
    2019-07-05 20:30:31

    안녕하세요.

    섹션6
    문제1-1
    INDEX(범위, 행번호,열번호) 형식입니다.
    범위는 [G3:G6] 영역에 식을 입력할 때 변하지 않는 영역으로 사용합니다. 그래서 절대참조한 것이구요,
    행번호는 1로 고정이고,
    열번호는 MATCH 함수로 구합니다.
    MATCH(찾을값, 범위, 옵션) 형식으로 MAX(B3:F3)의 최대값을 구합니다.
    G4셀에 수식을 입력할 때 최대값 영역은 MAX(B4:F4)로 변경되어야 하죠. 그래서 절대참조를 하지 않은 것입니다.
    MATCH의 범위 B3:F3도 G4셀에 수식을 입력할 때는 B4:F4로 변경되어야 합니다.

    차례차례 생각해 보셔야 합니다.
    변하지 않는 고정범위는 절대참조해 주시면 됩니다.

    섹션7
    103쪽
    3번
    [G25:G29] 영역에 수식을 작성해야 합니다.
    참조하는 표3의 영역인 [B21:D21] 영역은 모든 수식에서 고정값을 가집니다. 변하지 않는 영역이므로 절대참조합니다.

    107쪽
    1-3
    SUMIF(조건이 적용될 범위, 조건, 합계를 구할범위) 형식입니다.
    조건이 되는 등급필드 C25:C33 영역은 판매량, 단가, 원가비율(D34:F34)를 구하는 동안 같은 범위여야 하므로 절대참조합니다.
    합계를 구할 범위는 판매량 단가 원가비율로 범위가 변경되므로 절대참조하지 않습니다.


    120쪽
    문제9
    INDEX 함수의 범위에서 행번호와 열번호를 구해주어야 하는데,
    이름이 있는 범위만 선택하는 경우 조건을 비교하기 어렵습니다.
    물론, 다른 방법으로 문제를 푸셔서 정확한 답이 나오면 시험장에서는 정답으로 인정될 수 있습니다.

    133쪽
    문제2-3
    - MATCH( (MAX(조건)), 범위, 옵션) 의 형식으로 사용한 것입니다.
    - 수식을 채울 때, C11:C14 영역까지는 연구과제(F18:F33)을 참조해야하고, D11:D14 영역에서는 연구논문(G18:G33)을 참조해야 하므로 행은 고정하고 열은 고정하지 않습니다.


    섹션13
    178쪽
    네, 됩니다. 0.1과 10% 모두 인식합니다.


    섹션18
    232쪽
    문제5
    통화기호를 붙이려면 currency로 지정해 주셔야 합니다.
    val은 위쪽에서 이미 사용이 되었기 때문에 사용하지 않으셔도 무방합니다. val이 있고, 없고 결과 차이가 없습니다.

    233쪽
    Target.Font.Size 에서는 큰따옴표를 넣어도 프로그램에서 인식이 됩니
    다. 큰따옴표 없이 작성하셔도 동일한 결과가 나옵니다.
    속성을 이용한 코드로, 사용법을 따로 익혀 두셔야 합니다.

    246쪽
    문제1-2
    체크 박스에서 화면에 표시되는 내용은 캡션 속성에서 지정합니다.
    chk성별은 컨트롤 이름이고, 화면에 표시되는 내용이 캡션입니다.

    문제3
    문제 지시사항에 언급되지 않았으므로 val 없이 사용하셔도 무방합니다.
    문제에서 함수를 지정하지 않았기 때문에
    결과만 정확하다면 함수는 임의지정해서 사용하셔도 됩니다.

    chk성별_Click 프로시저에서 조건에 따라 cmd성별.caption을 설정했습니다.
    코드에서 설정된 값을 가져오게 됩니다.


    247쪽
    문제2-3
    스위치변수는 임의로 변수 이름을 지정한 것입니다.
    스위치변수를 이용한 이유는 txt고객명에 입력한 값과 동일한 데이터가 있었는지를 파악하기 위해 넣은 것입니다.
    스위치변수의 초기값으로 0을 넣고, txt고객명과 같은지 비교하는 if문 안에 스위치=1을 넣었습니다.
    그런 다음 for each문 밖에서 스위치 변수를 비교합니다.

    스위치 변수가 초기값 그대로 0 이면 txt고객명과 같은 데이터가 없다는 의미가 되고,
    스위치 변수 값이 1로 변경되었다면 txt고객명과 같은 데이터가 있다는 의미가 됩니다.

    스위치 변수는 on/off의 개념으로 1과 0을 사용한 것이데요, 다른 숫자를 사용하셔도 상관은 없습니다.

    비슷한 유형의 문제가 나오면 스위치는 이런 식으로 사용하셔도 됩니다. 물론, 문제 조건에 따라 변경될 수 있습니다.


    처음에 참조행에 3을 넣고, for문의 첫번째에 참조행=참조행+1을 실행하면 참조행은 4가 됩니다.
    이 4는 워크시트에서 고객명이 들어 있는 범위의 첫번째 행을 의미하는 것입니다.
    즉, 첫번째 고객이 들어 있는 '김현진'은 워크시트에 4행에 입력되어 있습니다.

    첫번째 데이터를 비교할 때는 참조행이 4, 두번째 데이터를 비교할 때는 for 문 안에 들어 있는
    '참조행=참조행+1'를 또 실행하게 되므로 참조행은 5 이렇게 1씩 증가하게 되는 것입니다.

    시험에서는 제시된 문제에 따라 초기값이 달라질 수 있습니다.

    aa도 변수명입니다.
    워크시트의 값을 조회하는 문제이므로 데이터가 들어간 표1의 [D4:D7] 영역 동안 검색을 하면 됩니다.
    스위치=1은 앞서 설명드렸듯이
    스위치 변수 값이 1로 변경되었다면 txt고객명과 같은 데이터가 있다는 의미하므로 for문을 빠져나옵니다.


    248쪽
    문제3-3
    cmb종류는 폼에 위치한 컨트롤이름입니다.
    참조표의 내용이 cmb종류 컨트롤에 추가되어있기는 합니다.


    문제4-2
    단순한 컨트롤이 아니라 바운드된 필드로 참조할 때,
    필드의 초기값은 Null이므로 값을 입력하지 않은 것은 IsNull로 검사합니다.

    IsNull( )은 유효한 데이터를 전혀 포함하지 않으면 참(True)을, 포함하면 거짓(False)을 반환하는 함수입니다. 주로 목록상자에서 사용됩니다.

    value는 lst과목에서 선택한 값을 의미합니다.
    lst과목의 값이 NULL 인지 확인하는 것이죠.


    lst과목.Listindex에 0을 설정하는 것입니다. 첫번째 목록이 선택되게 하려는 것입니다.
    lst과목.Listindex=0 으로 사용합니다.
    동일한 결과가 나오면 시험장에서는 정답으로 인정될 수 있습니다.

    list와 listindex
    이 문제의 경우
    참조행에 lst과목.listindex 라고 정의해 두고, lst과목.list(참조행,0) 으로 사용하고 있는 것입니다.
    ListIndex 는 리스트의 인덱스를 설정하는 속성이고,
    그 ListIndex 위치의 데이터는 .List(행,열) 속성을 이용하셔 워크시트의 셀에 넣을 수 있습니다.
    ------
    아래 첫번째 코드는 목록상자나 콤보상자에서 특정 행을 추출할 때 사용하고, 두번째 코드는 워크시트의 셀안의 내용을 가져올때 사용 하게 됩니다.

    <첫 번째 코드>
    참조행 = lst과목.ListIndex
    입력행 = [a2].Row + [a2].CurrentRegion.Rows.Count
     Cells(입력행, 1) = txtID
     Cells(입력행, 2) = txt이름
    Cells(입력행, 3) = lst과목.List(참조행, 0)
    Cells(입력행, 4) = lst과목.List(참조행, 1)
    Cells(입력행, 5) = lst과목.List(참조행, 2)
    Cells(입력행, 6) = lst과목.List(참조행, 3) - (lst과목.List(참조행, 3) * txt할인율)

    여기에서 참조행에 lst과목.listindex 라고 정의해 두고
    lst과목.list(참조행,0) 으로 사용 하고 있습니다.

    이것은 참조행이 어디인지 지정해 놓고 lst과목에서 참조행의 위치와 0인.. 그러니깐 참조행이 만약 2이고 찾고자하는 것이 0행에 있다는 그런 뜻이 됩니다.

    <두 번째 코드>
    참조행 = lst열차종류.listindex + 4
    입력행 = [a3].row + [a3].currentregion.rows.count

    cells(입력행, 1) = txt번호
    cells(입력행, 2) = cells(참조행, 8)
    cells(입력행, 3) = cells(참조행, 9)
     cells(입력행, 4) = txt매수
    cells(입력행, 5) = txt매수 * cells(참조행, 10)

    이 문장에서는 lst열차종류에서 참조되는 행의 위치를 이미 지정하였습니다. 그리고 사용 할때는 8,9와 같이 엑셀에서 위치하는 열을 미리 적어 둔 것입니다.

    한마디로 말하면.. 첫번째 코드는 폼안의 list박스내의 자료를 찾아서 셀에 입력 하는 것이구요.

    두번째 코드는 워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인 하는 것입니다.

     

    좋은 하루 보내세요. 

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.