책 내용 질문하기
엑셀 프로시져 입력행
도서
[2011] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2003 사용자용)
페이지
229
조회수
163
작성일
2011-08-07
작성자
첨부파일

프로시져 입력행 구할때 시트에 범위는 a2셀부터 시작하는데 a1셀에 문구하나가 이어져있을경우

[a1].row+[a1].currentregion.rows.count 이런식으로 구하면 안되나여? 책에서는 이렇게 구하라고 하던데

오늘 기본모의고사 인강들으니까 강사님은 [a2].row+[a2]currentregion.rows.count -1이런식으로 구하라고하더라고요 실제해보니까 둘다 데이터는 마지막데이터 다음에 똑같이 정상적으로 입력되고요

그리고 진짜 기본적인건데 궁금한게 하나있어여

엑셀 함수쓰고 밑으로 셀 채우기핸들할때 예를들어 {=sum((A3=$H$4:$H$10)*1)}이런식일때 밑으로 같은열에 채우기핸들할꺼면 A3=$H$4:$H$10 이런식으로 해도되나요? 지금까지 그렇게 했는데 조건부서식에서는 A3에서 A앞에

$붙여줘야 제대로 값이 구해지더라고요 A3이나 $A3이나 같은 열에 채우기핸들할때는 입력값이 똑같잖아요

같은열에 채우기할때 조건부서식아니면 아무거나 써도 되는거 맞죠?

답변
2011-08-07 22:34:42

프로시져는 일종의 알고리즘을 직접 짜는 것으로 어떤 기능을 구현하기 위한 방법은 여러방법이 있을 수 있습니다. 즉, 수학문제를 푸는데 있어서 그 방법이 여러가지인 것과 같은 이치죠.

따라서, 질문자님께서 작성하신대로 하셔도 전혀 문제될 것은 없습니다. 강사님이 설명해 주신것이나 질문자님이 작성한 것이나 모두 정답인 것이죠. 왜 이렇게 작성하게 되었는지에 대한 설명만 스스로에게 할 수 있다면 둘 중 편하신 대로 하시면 됩니다.

그리고, 2번째 질문은 질문자님께서 잘못 알고 계신 부분이 있어 답변드립니다.

우선 {=sum((A3=$H$4:$H$10)*1)} 배열수식은 $H$4:$H$10범위 각각의 값을 A3의 값과 비교하여 같은 것의 개수를 구하는 수식입니다. 즉, SUM함수는 같은 것의 개수를 구하는데 있어서 필수적인 함수입니다.

SUM을 빼고 작성하시면, 같은 것들을 더해서 그 개수를 보여줄 수 있는 방법이 없기 때문에 질문자님께서 이 부분은 주의를 하셔야 할 듯 싶습니다.

또한, 조건부서식이 적용될 때는 셀 단위로 적용이 되므로 같은 행에 같은 서식을 지정하기 위해서 $A3과 같이 열을 나타내는 알파벳 앞에만 $기호를 붙였다는 것을 아셔야 합니다. 즉 같은 행이라면 셀이 다르더라도 가은 서식을 적용해야만 하기 때문에 $을 A앞에만 붙인것입니다. 물론 행이 다르면 조건식도 달라져야 하므로 행을 나타내는 숫자 앞에는 $기호를 붙이지 않은것이죠.

그리고, 물론 위 수식을 조건부 서식이 아니고 일반 수식에서 같은열에만 채우기를 할 경우에는 $A3이나 A3은 같습니다.

  • *
    2011-08-07 22:34:42

    프로시져는 일종의 알고리즘을 직접 짜는 것으로 어떤 기능을 구현하기 위한 방법은 여러방법이 있을 수 있습니다. 즉, 수학문제를 푸는데 있어서 그 방법이 여러가지인 것과 같은 이치죠.

    따라서, 질문자님께서 작성하신대로 하셔도 전혀 문제될 것은 없습니다. 강사님이 설명해 주신것이나 질문자님이 작성한 것이나 모두 정답인 것이죠. 왜 이렇게 작성하게 되었는지에 대한 설명만 스스로에게 할 수 있다면 둘 중 편하신 대로 하시면 됩니다.

    그리고, 2번째 질문은 질문자님께서 잘못 알고 계신 부분이 있어 답변드립니다.

    우선 {=sum((A3=$H$4:$H$10)*1)} 배열수식은 $H$4:$H$10범위 각각의 값을 A3의 값과 비교하여 같은 것의 개수를 구하는 수식입니다. 즉, SUM함수는 같은 것의 개수를 구하는데 있어서 필수적인 함수입니다.

    SUM을 빼고 작성하시면, 같은 것들을 더해서 그 개수를 보여줄 수 있는 방법이 없기 때문에 질문자님께서 이 부분은 주의를 하셔야 할 듯 싶습니다.

    또한, 조건부서식이 적용될 때는 셀 단위로 적용이 되므로 같은 행에 같은 서식을 지정하기 위해서 $A3과 같이 열을 나타내는 알파벳 앞에만 $기호를 붙였다는 것을 아셔야 합니다. 즉 같은 행이라면 셀이 다르더라도 가은 서식을 적용해야만 하기 때문에 $을 A앞에만 붙인것입니다. 물론 행이 다르면 조건식도 달라져야 하므로 행을 나타내는 숫자 앞에는 $기호를 붙이지 않은것이죠.

    그리고, 물론 위 수식을 조건부 서식이 아니고 일반 수식에서 같은열에만 채우기를 할 경우에는 $A3이나 A3은 같습니다.

  • *
    2011-08-08 14:28:42

    1. 시나공 책에서는 -1을 하는 것은 조회를 할때 사용하고 -1가 없는 것은 입력할때 사용합니다.

    시나공 책에서 사용하는 방법으로 한다면 [a1]부터 연결 되어 있다면 [a1]부터 사용하셔야 하죠.

    시나공책에서 사용하는 방법입니다.

    입력행=[a3].row+[a3].currentregion.count

    은 입력 버튼, 즉 컨트롤에 입력된 값을 마지막 셀뒤에 입력 할때 사용 하는 것이구요.

    입력행=[a3].row+[a3].currentregion.count -1

    은 조회 버튼, 즉 셀에 입력된 값의 마지막 데이터를 조회할때 사용 하는 것입니다.

    이것을 설명해 보면


    [a3].row 는 a3의 행위치를 나타내므로 3이 나오구요.

    [a3].currentregion.rows.count 는 a3부터 입력되어 있는 값들의 개수를 세게 됩니다.

    a3부터 3줄의 데이터가 있다면 이 값은 3이 되고

    3+3 이 되어 6 행이 되는 것이죠. (필드명 포함해서 입니다. 필드명부터 4줄이라면 4를 더해주셔야 합니다.)

    즉 6번행부터 입력하게 합니다.

    이것은 마지막 데이터 다음줄에 값을 입력 하는 입력 프로시저에 사용하는 것이고

    여기에 -1 을 하신다면 마지막 줄을 조회하여 폼에 나타나게 하는 조회 프로시저를 작성 하는 것입니다.

    이름=cells(입력행,1)

    과 같이 나타내는 것은 이름에 셀에 입력된 값을 입력 하라는 것으로 셀에 입력된 값을 폼에 입력하게 하는

    조회 하실때 사용하는 것이구요.

    cells(입력행,1)=이름

    은 셀에 폼의 컨트롤에 입력된 이름 값을 셀에 입력 하라는 것으로

    입력 프로시저를 작성할 때 사용하는 것입니다.

    프로시저에서 =은 같다가 아니라

    오른쪽에 있는 데이터를 왼쪽으로 넣는다 라는 개념으로 생각 하셔야 합니다.

    입력행 = [a3].row + [a3].currentregion.rows.count -1

    이름=cells(입력행,1)

    과 같이 작성하시면 조회를 하는 프로시저이고

    입력행 = [a3].row + [a3].currentregion.rows.count

    cells(입력행,1)=이름

    으로 작성하시면 셀에 입력하는 입력 프로시저가 되는 것입니다.

    그러므로 [a2]로 시작 하시면 하나가 더 세어지게 되므로 -1을 하면 제대로 입력되게 되는 것입니다.

    헷갈리신다면 시나공 책의 것으로 하시는 것이 좋을 것 같습니다.

    이해가 제대로 되셨다면 어느것을 사용하셔도 상관 없겠죠.

    2. 조건부서식에서는 행전체에 서식을 지정 하려면 $a3 과 같이 열참조를 해주셔야 합니다.

    그렇지 않으면 조건부 서식을 적용하면서 열이 다른 곳으로 변경될 수 있습니다.

    그래서 조건부서식에서 행전체에 서식을 적용하려면 $a3과 같이 사용해야 한다 라고 생각 하시면 됩니다.

    그냥 채우기 핸들을 하여 아래쪽으로 채울때는 $을 쓰거나 안쓰는 것은 차이가 없습니다.

    좋은 하루 되세요.

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