[jquery] 자바스크립트 모든 input값 가져오기 (input selector)



항상 우리는 이런 코드를 많이 쓰죠!
(나만...그런가요..하하하)


이렇게 input 하나가 있을 때는 id값으로 접근하여서
간편하게 저런 식으로 값을 가져오거나 값을 주는 방식으로 주로 쓰이죠


<body>
<input id="simple_input" type="text" name="simple_input_name" value="simple_input_value">
<button id="call_input_text" type="button"/> input value 가져오기</button>
<script>
$("#call_input_text").click(function () {
alert($("#simple_input").val());
});
</script>
</body>



그러면 input 여러개 있으면... 어떡하죠.....




<input id="simple_input" type="text" name="simple_input_name" value="simple_input_value">
<p id="first_p">
<input id="text1_id" type="text" name="text1_name" value="text1_value">
<input id="text2_id" type="text" name="text2_name" value="text2_value">
<input id="text3_id" type="text" name="text3_name" value="text3_value">
<input id="text4_id" type="text" name="text4_name" value="text4_value">
<input id="text5_id" type="text" name="text5_name" value="text5_value">
<input id="text6_id" type="text" name="text6_name" value="text6_value">
<button id="call_input_text" type="button" /> text value 가져오기</button>
</p>
<p id="second_p">
<input id="number1_id" type="number" name="number1_name" value=1>
<input id="number2_id" type="number" name="number2_name" value=2>
<input id="number3_id" type="number" name="number3_name" value=3>
<input id="number4_id" type="number" name="number4_name" value=4>
<input id="number5_id" type="number" name="number5_name" value=5>
<input id="number6_id" type="number" name="number6_name" value=6>
<button id="call_input_number" type="button" /> number value 가져오기</button>
</p>
<p id="third_p">
<input id="radio1_id" type="radio" name="radio_name" value=1 checked>
<input id="radio2_id" type="radio" name="radio_name" value=2>
<input id="radio3_id" type="radio" name="radio_name" value=3>
<input id="radio4_id" type="radio" name="radio_name" value=4>
<input id="radio5_id" type="radio" name="radio_name" value=5>
<input id="radio6s_id" type="radio" name="radio_name" value=6>
<button id="call_input_radio" type="button" /> radio value 가져오기</button>
</p>
<p id="four_p">
<input id="checkbox1_id" type="checkbox" name="checkbox_name" value=1 checked>
<input id="checkbox2_id" type="checkbox" name="checkbox_name" value=2>
<input id="checkbox3_id" type="checkbox" name="checkbox_name" value=3>
<input id="checkbox4_id" type="checkbox" name="checkbox_name" value=4>
<input id="checkbox5_id" type="checkbox" name="checkbox_name" value=5>
<input id="checkbox6s_id" type="checkbox" name="checkbox_name" value=6>
<button id="call_input_checkbox" type="button" /> checkbox value 가져오기</button>
</p>





그럴 때 이 방법을 써봐야될 것 같아요! selector 

자, 그러면 첫번째, p 태그들의 값들을 가져와 보도록 하겠습니다.


$("#call_input_text").click(function () {
var get_input = $("#first_p input[type=text]");
console.log(get_input);
console.log('이녀석 타입은 뭐야? ' + typeof (get_input)); // object
console.log('이녀석 Array이니? ' + Array.isArray(get_input)); //false
//그렇다면, object임으로 key : value 구조다.
$.each(get_input, function (index, value) {
console.log('인덱스값' + index);
console.log(value);
console.log('id =' + $(value).attr("id"));
console.log('name =' + $(value).attr("name"));
console.log('value =' + $(value).val());
});
});


첫번째 p 태그 안에는 call_input_text를 버튼을 누르면 


결과화면을 보시게되면 p태그 안에는 input type=text와 관련하여 정보를 확인할 수 있습니다.


그리고 , typeof를 비교 후 왜 Array.isArray를 비교를 왜 하셨는지 궁금하시다면,

아래의 링크를 봐주시면 감사하겠습니다.

[javascript] 배열(Array) 선언과 확인하기( isArray() ) 와 typeof()로 확인 안되는 이유



결과화면( F12를 누르시고 , console 탭을 누르시면 확인 가능합니다.)


첫번째 p 태그 안에는 input type=text들의 정보를 출력해주고, 

그 다음 get_input에 관한 정보를 확인하여,

그 안에는 key에 관하여 value를 통해서 input에 id , name, value를 확인할 수 있습니다. 





두 번째 p 태그 안에는 call_input_number를 버튼을 누르면 


 p태그 안에는 input type=number와 관련하여 정보를 확인할 수 있습니다.

$("#call_input_number").click(function () {
var get_input = $("#second_p input[type=number]");
console.log(get_input);
console.log('이녀석 타입은 뭐야? ' + typeof (get_input)); // object
console.log('이녀석 Array이니? ' + Array.isArray(get_input)); //false
//그렇다면, object임으로 key : value 구조다.
$.each(get_input, function (index, value) {
console.log('인덱스값' + index);
console.log(value);
console.log('id =' + $(value).attr("id"));
console.log('name =' + $(value).attr("name"));
console.log('value =' + $(value).val());
});
});


결과화면( F12를 누르시고 , console 탭을 누르시면 확인 가능합니다.)






세번째, 네번쨰에서는 선택된 애들만 가져오는 부분으로 진행보도록 하겠습니다.


모든 부분이 필요하신분은 아래 전체 테스트 코드에서 주석을 푸시고 사용하시면 됩니다.


세번째 p 태그에서는 input type 라디오인 경우 

하나만 체크가 가능하 구조로 지금 만들어 졌습니다. 

세번째 p 태그 안에 radio value 가져오기를 누르시면 선택하신 라디오에 정보를 출력합니다.



$("#call_input_radio").click(function () {
// var get_input = $("#third_p input[type=radio]");
// console.log(get_input);
// console.log('이녀석 타입은 뭐야? ' + typeof (get_input)); // object
// console.log('이녀석 Array이니? ' + Array.isArray(get_input)); //false
// //그렇다면, object임으로 key : value 구조다.
// $.each(get_input, function (index, value) {
// console.log('인덱스값 ' + index);
// console.log(value);
// console.log('id =' + $(value).attr("id"));
// console.log('name =' + $(value).attr("name"));
// console.log('value =' + $(value).val());
// //console.log($(value).prop("checked" , true)); // radio 임으로 체크의 유무 확인이 필요한 경우
// });
var get_input_checked = $("#third_p input[type=radio]:checked"); // 선택하 라디오의 정보를 가져옵니다.
console.log(get_input_checked); // 선택된 라디오들의 정보
$.each(get_input_checked, function (index, value) {
console.log('인덱스값 ' + index);
console.log(value);
console.log('id =' + $(value).attr("id")); //id
console.log('name =' + $(value).attr("name")); // name
console.log('value =' + $(value).val()); //value
});
});


결과화면( F12를 누르시고 , console 탭을 누르시면 확인 가능합니다.)



네번째 p 태그에서는 input type checkbox인 경우 


여러개 체크가 가능하 구조로 지금 만들어 졌습니다. 


네번째 p 태그 안에 checkbox value 가져오기를 누르시면 

체크된 checkbox에 정보를 출력합니다.


$("#call_input_checkbox").click(function () {
// var get_input = $("#four_p input[type=checkbox]");
// console.log(get_input);
// console.log('이녀석 타입은 뭐야? ' + typeof (get_input)); // object
// console.log('이녀석 Array이니? ' + Array.isArray(get_input)); //false
// //그렇다면, object임으로 key : value 구조다.
// $.each(get_input, function (index, value) {
// console.log('인덱스값 ' + index);
// console.log(value);
// console.log('id =' + $(value).attr("id"));
// console.log('name =' + $(value).attr("name"));
// console.log('value =' + $(value).val());
// //console.log($(value).prop("checked" , true)); // radio 임으로 체크의 유무 확인이 필요한 경우
// });
var get_input_checked = $("#four_p input[type=checkbox]:checked");
console.log(get_input_checked);
$.each(get_input_checked, function (index, value) {
console.log('인덱스값 ' + index);
console.log(value);
console.log('id =' + $(value).attr("id"));
console.log('name =' + $(value).attr("name"));
console.log('value =' + $(value).val());
});
});

결과화면( F12를 누르시고 , console 탭을 누르시면 확인 가능합니다.)



무슨 이유인지 모르겠지만 ... codepen 여러개로 놓여져서...


링크로 남겨둡니다. ㅠㅠ 


테스트 하실분 아래 이동하기를 눌러주세요.


테스트 화면으로 이동하기


전체 테스트 코드


블로그 이미지

미나미나미

,

[Excel]엑셀 두번째로 큰 수,두번째로 작은 수,몇번째 (LARGE, SMALL함수)



 ■ LARGE : 데이터 집합에서 k번째로 큰 값을 반환합니다.

=LARGE( array , k)

array = 내가 어떠한 특정 큰 값을 찾기 위한 범위 ( array  =1 - 10 에 범위)

k = 내가 찾을 범위내에서의 순위 ( k = 2 , 두번째로 큰 수)

= LARGE(array , k) = 9


 ■ SMALL : 데이터 집합에서 k번째로 작은 값을 반환합니다.

=SMALL(array , k)

array = 내가 어떠한 특정 큰 값을 찾기 위한 범위 ( array  =1 - 10 에 범위)

k = 내가 찾을 범위내에서의 순위 ( k = 2 , 두번째로 작은 수)

SMALL(array , k) = 2






자, 아래의 예제를 통해서 

LARGE 함수와 SMALL함수를 다루어 보겠습니다.


1 - 36까지 범위내에서 

두번째로 큰 수 , 네번째로 작은 수를 구하는 예제를 해보겠습니다.



 예제는 쉽지만, 함수는 이해를 위해서 쉽게 만든 것이니 

함수를 쓰는 방법을 익히는데 집중하시면 좋을 것 같습니다.

이런 말을 하는 이유 ... 우리는 답을 알자나요... 






두 번째로 큰 수를  찾기 위해서 

=LARGE를 입력하고, 

우리가 찾을 범위 B3:D14의 범위를 입력하고,

범위내에서 우리가 두번째로 큰 수를 찾을 거니까 2라고 입력합니다.


=LARGE(B3:D14,2)





짜잔, 그러면 1-36 사이에 두번째로 큰 수는 35임으로 35가 나옵니다.




자 다음으로 

네번째로 작은 수를  찾기 위해서 

=SMALL를 입력하고, 

우리가 찾을 범위 B3:D14의 범위를 입력하고,

범위내에서 우리가 네번째로 작은 수를 찾을 거니까 4라고 입력합니다.


=SMALL(B3:D14,4)



짜잔, 그러면 1-36 사이에 네번째로 작은 수는 4임으로 4가 나옵니다.





도움이 되셨다면 공감 버튼 꼬옥 눌러주세요!!

블로그 이미지

미나미나미

,

[Excel] 엑셀 최소값, 최대값 구하기 ( MIN , MAX 함수) , 여러개 범위 최소,최대



 ■ MIN : 값 집합에서 가장 작은 숫자를 반환합니다.


 ■ MAX : 값 집합에서 가장 큰 숫자를 반환합니다.





자, 그러면 MIN , MAX를 데리야기 치킨에 대한 만족도로 설명해보도록 하겠습니다.



자, 처음으로 A그룹의 데리야끼에 대한 만족도가 최저인 점수를 찾아 보겠습니다.


우리가 사용할 함수 =MIN을 입력하고 우리가 찾을 범위가 B5셀부터 D24셀임으로 이구간을 설정해줍니다.


= MIN(B5:D24)




그러면 짜잔, A 그룹의 만족도가 최저인 점수가 나옵니다.


A그룹의 최저 점수인 1이 나오는 것을 확인할 수 있습니다.



두번째로, A그룹에 데리야끼에 대한 최고 점수를 찾아보겠습니다.


우리가 사용할 함수 =MAX을 입력하고,


우리가 찾을 범위가 B5셀부터 D24셀임으로 이구간을 설정해줍니다.


= MAX(B5:D24)



그러면 짜잔, A 그룹의 만족도가 최고인 점수가 나옵니다.


A그룹의 최저 점수인 97이 나오는 것을 확인할 수 있습니다.







자 , 그렇다면 요번에는 한그룹이 아니라 두 그룹의 데리야끼에 치킨에 대한 만족도를 통한 


최저 점수와 최고 점수를 찾아보도록 하겠습니다.



자, 최저 점수를 찾기 위해서 

=MIN를 입력하고 , 

첫번째 A그룹의 범위 B5:D24를 입력하고, 

두번째 B그룹의 범위 F5:H24를 입력합니다.


=MIN(B5,D24,F5:H24)





자, 그러면 A그룹과 B그룹의 최소갑 1임을 확인할 수 있습니다.






이번에는 최고 점수를 찾기 위해서 

=MAX를 입력하고 , 

첫번째 A그룹의 범위 B5:D24를 입력하고, 

두번째 B그룹의 범위 F5:H24를 입력합니다.


=MAX(B5,D24,F5:H24)





자, 그러면 A그룹과 B그룹의 최소갑 100임을 확인할 수 있습니다.



여기선 질문 그렇다면 최대, 최소는 구했는데....


두번째로 큰수 , 세번째로 작은수는 어떻게 구할까요?


그건 다음 강좌에서......


도움이 되셨다면 공감 버튼 좀 ... 눌러주시라요~~~

블로그 이미지

미나미나미

,

[Excel] 엑셀 중첩 IF 조건문 사용하기 , 여러개 조건문



 ■ IF : (어떤 항목이 True이면 어떤 결과를 내고 그렇지 않으면 다른 결과를 낸다)


지난번에는 단일 조건문 , 즉 하나만을 통해서 조건문을 통해서 "합격" , "불합격"을 표시했다면, 이번에는 여러개의 2개 이상의 조건문을 다루는 방법을 설명해보도록 하겠습니다.


단일 1개의 IF는 아래의 링크 [Excel] 엑셀 IF 조건문 사용하기 를 참고해주시면 감사하겠습니다!!

      

[Excel] 엑셀 빈 칸 갯수 , 빈칸 없는 갯수 찾기 (COUNTA, COUNTBLANK) <- 보러가기

[Excel] 엑셀 순위 구하기 , 랭크 함수 (RANK) <- 보러가기

[Excel] 엑셀 IF 조건문 사용하기<- 보러가기




자, 학생들 중 점수가 70점 이상시 합격을 표현하기 위해서는 

= if( 학생의 점수  >= , "합격" , "불합격") 

이렇게 표현을 했던 거 기억나시나요? 




자,  그렇다면, 이번에는 IF문을 2 개를 주어서 1등급 , 2등급, 3등급으로 나누어 보겠습니다.




자, IF문을 쓰는데 여러개를 쓰는데 어려운 점 천천히 하지 않고 바로 결과를 바라기 때문에 항상 어렵게 느껴지는 거에요


자, 첫번째 IF문 부터 해결해보죠.

 우리가 맨 터음 해결할 과제는 90점 이상인 학생들만 미리 1등급을 처리해주는 거에요.

그러면 나머지 학생들은 FALSE라고 표현이 될 테니까요.



이제 아래 화면을 보게 되면,

= IF ( C4 >= 90 , "1등급" , FALSE)

여기서 C4는 학생 자의 점수를 의미하고 ,

자 학생의 점수가 90점 이상이 아니므로 FALSE가 나왔음을 확인할 수 있습니다.

그리고, 녹색 작은 상자 위치에 가서 마우스 두번 클릭 또는 쭈욱 내려보세요.




그러면 우리가 입력한 학생들의 점수에 따라서 

첫번째, IF문에 의해서 1등급 또는 FALSE로 나누어 집니다.


두번째, IF문을 어디다가 넣어야할까요?

맞습니다. FALSE 부분에 두번째 IF문을 넣어야 합니다.



자, 그러면 

= IF ( C4 >= 90 , "1등급" , FALSE) 에서 

FALSE 부분을  = IF ( C4 >= 70, "2등급" , "3등급") 로 바꿔주겠습니다.

그리고 , 녹색 버튼 부분에 두번 클릭 또는 드래그를 쭈욱 내리시면 

아래와 같이 나올거에요.







자, 그러면 조금 더 어렵게 IF문을 4개를 넣어보겠습니다.

우리가 등급 A , B, C, D, F 로 나눌건데 

총 다섯개의 등급으로 나눌 겁니다. 

여기서 중요하게 눈치채신 분들이 있으신가요?


예를 들어서 

합격, 불합격 2가지로 분류할 경우 필요한 IF문 1개

1등급 , 2등급 , 3등급 3가지로 분류할 경우 필요한 IF문 2개

A , B, C, D, F  5가지로 분류할 경우 필요한 IF문 3개 

요러한 점을 눈치를 채신다면 상황에 따라 달라질 수 도 있지만 

내가 IF문을 몇개를 써야겠구나 대충 감이 옵니다.



자 그렇다면, 다시 문제로 돌아와서 

적용했던 1등급 , 2등급 , 3등급 

2개 IF문으로 먼저 

학생들의 등급을 A , B ,C로 나누는 작업을 진행하겠습니다.


두번째 , IF( C4 >= 70 , "2등급" , "3등급") 를

IF ( C4 >= 80 , "2등급" , "3등급")으로 바꾸어 주었습니다.

 



그리고, 우리가 비교해서 출력해야할 값들이 1등급 2등급 3등급이 아니므로

"A" , "B" , FALSE로 변경해주었습니다.

그 결과로 학생들의 점수에 따라서 A , B , FALSE로 나누어졌습니다

자, 그렇다면 , FALSE 부분을변경해 주어야 겠지요?!





= IF ( C4 >= 90 , "A" , IF ( C4 >= 80 , "B" , FALSE) )

요번에는 FALSE 부분을 IF ( C4 >= 70 , "C" , FALSE) 로 변경해주었습니다.

= IF ( C4 >= 90 , "A" , IF ( C4 >= 80 , "B" , IF ( C4 >= 70 , "C" , FALSE ) ) )





그리고 마지막으로

= IF ( C4 >= 90 , "A" , IF ( C4 >= 80 , "B" , IF ( C4 >= 70 , "C" , FALSE ) ) )

요번에는 FALSE 부분을 IF ( C4 >= 60 , "D" , "F") 로 변경해주었습니다.

= IF ( C4 >= 90 , "A" , IF ( C4 >= 80 , "B" , IF ( C4 >= 70 , "C" , IF ( C4 >= 60 , "D" , "F" ) ) ) )



한가지 팁을 드리자면 


항상 헤갈리는 부분이 마지막 괄호가 문제 일 때가 있습니다. 

만약 IF 2 개의 경우라면 마지막에 끝에 괄호가 몇개가 있어야 할까요?

=IF ( 조건식 , TRUE , IF( 조건식, TRUE , FALSE ) )

마지막에 닫는 괄호가 2개 있어야 합니다.


만약, 그렇다면 조건식 5면 

마지막 닫는 괄호도 마지막에 5개가 있어야합니다.




블로그 이미지

미나미나미

,

[Excel] 엑셀 IF 조건문 사용하기 , if문 기본 사용법 , 



 ■ IF : (어떤 항목이 True이면 어떤 결과를 내고 그렇지 않으면 다른 결과를 낸다)



지난번에 COUNTA , COUNTBLANK, RANK 함수를 적용한 자료를 토대로 설명드리겠습니다.

      

[Excel] 엑셀 빈 칸 갯수 , 빈칸 없는 갯수 찾기 (COUNTA, COUNTBLANK) <- 보러가기

[Excel] 엑셀 순위 구하기 , 랭크 함수 (RANK) <- 보러가기

[Excel] 엑셀 IF 조건문 사용하기<- 보러가기

[Excel] 엑셀 중첩 IF 조건문 사용하기 , 여러개 조건문



지난번에 COUNTA , COUNTBLANK, RANK 함수를 적용한 자료를 토대로 설명드리겠습니다.


자, 학생들 중 출석일수가 4일 이상인 학생은 '합격' , 4일 미만인 학생은 '불합격'으로 나타내어 보겠습니다.


여기서 우리는 어떠한 조건을 알아야 할까요?

조건을 주기위해서는 우리가 어떠한 만족할만 결과를 찾을 수 있는 알맞는 수식을 주어야합니다.



학생들 중 출석일수4일 이상인 학생은 '합격' , 4일 미만인 학생은 '불합격'


첫번째, 출석일수가 4일 이상 , 4일 미만

두번째, 결과는 '합격' 또는 '불합격'


자, 아래의 데이터를 토대로 예를 들자면,


학생 '자'의 출석일수는 4일이므로 출석일수가 4일 이상이기 때문에 (4일 미만이 아니므로) 학생 '자'는 합격


= IF ( 자의 출석일수(4) >= 4 , '합격' , '불합격') 또는 = IF(자의 출석일수(4) < 4 , '불합격' , 합격)


자 그러면 엑셀 수식으로 변경해 보겠습니다.




합/불합표시 셀 아래 K4셀에서 비교를 위해서 = IF 또는 = if를 입력합니다.




그리고, 우리가 비교를 위한 데이터가 있는 셀의 위치를 선택합니다. 

우리가 비교할 값은 학생의 출석일수가 있는 부분임으로 셀 H4를 클릭합니다.






그리고, 이제 수식을 넣어주겠습니다.

우리가 비교할 정보는 출석일수가 4일 이상(또는 4일 미만)이 기준임으로,

= IF( '학생의 출석일수' >= 출석일수 ,

이렇게 수식을 아래와 같이 이미지를 통해서 넣어줍니다.



자, 우리가 합격과 불합격을 알기전에 먼제 true, false를 먼저 알아보겠습니다.

아, 그리고 항상 대문자를 넣어야한다고 생각하시느분들이 많을 거 같아 소문자를 넣었을 경우

어떻게 진행되는지 보여드리기위해서 넣어봤습니다.




짜잔, 아래의 사진이미지를 보게되면 자 학생의 경우 출석일수가 4일 이상으므로 TRUE로 출력되는 것을 확인할 수 있습니다.

(수식을 넣을 때, 항상 대문자를 귀찮게 넣으시는 분들 굳이 그렇게 넣을실 필요가 없습니다.)




이제, 우리가 원하게 나오게 하기 위해서 

TRUE를 "합격" (따옴표 넣으셔야돼요)

FALSE를 "불합격" (따옴표 넣으셔야돼요)

넣으시면 아래와 같이 나올거에요.




그리고 아래 사진에서 작은 네모 박스 부분에서 마우스 왼쪽 두번 클릭 또는 쭈욱 내리시면


짜잔, 이렇게 나옵니다. 원하시는 결과가 나오셨나요?!!










응용해보기

그런데, 가끔 합격과 불합격 표시중 하나만 필요할 때가 있습니다. 

그럴 때, = IF ( H4 >= 4 , "합격" , "")

이렇게 넣으시면 조건문이 TRUE일 경우 "합격" 으로 표시가 되고,

FALSE일 경우 ""으로 표시가 되어 빈 공간으로 나옵니다.


이렇게 응용해보셔야돼요!!



IF( 조건식 , TRUE , FALSE )

=IF( H4 >= 4, "합격", "불합격")


조건식 : H4 >= 4 

H4가 4 이상일 경우 


TRUE : 

"합격" 이라는 문자열를 출력


FALSE :

"불합격" 이라는 문자열를 출력



블로그 이미지

미나미나미

,

[Excel] 엑셀 순위 구하기 , 랭크 함수 (RANK)


 ■ RANK : 범위 내에서 순위를 정하는 함수

=> 수 목록 내에서 지정한 수의 크기 순위를 반환합니다. 수의 순위는 목록에 있는 다른 수와의 상대 크기를 말합니다. 목록을 정렬하면 수의 위치와 순위가 같아질 수 있습니다.


자, 그러면 예를 들어 보겠습니다. 지난번에 counta , countblank 함수를 썻던 엑셀 자료를 통해서 출석일수를 통한 RANK 함수를 적용해 보겠습니다.

[Excel] 엑셀 빈 칸 갯수 , 빈칸 없는 갯수 찾기 (COUNTA, COUNTBLANK) <- 보러가기

[Excel] 엑셀 순위 구하기 , 랭크 함수 (RANK) <- 보러가기

[Excel] 엑셀 IF 조건문 사용하기<- 보러가기



출석 일수를 통해서 학생들의 순위를 구해보겠습니다.




출석랭킹 밑에 J4 셀의 위치에 와서 '=RANK를 입려학고 '(' 를 입력하시고, 그 다음 출석 일수 셀 H4 를 클릭합니다. 그러면 아래의 그림처럼 나올 거에요.




, (콤마)를 넣어준 후에, 그 다음에 비교를 하기 위한 범위를 지정해 줄거에요

학생들의 출석일수를 비교하기 위해서 출석일수의 값의 범위 H4 부터 H14를 넣어줄거에요. 

그리고 한가지 더 처리해줄게 있어요. 범위를 절대 범위를 지정해줘야합니다.


H4:H14 뒤에 커서가 있을 때,  자판의 ' F4 ' 키를 눌러주면 $ 의 표시가 추가됩니다. 이렇게 되면 절대범위를 지정해주는 건데 ... 이건 나중에 정리해서 쉽게 설명해드릴게요. 꼬옥 필요하니까 빼먹지 마시고요. 그리고 ' ) '로 닫아주세요.


그 다음에, 작은 네모 부분에서 아래 방향으로 드래그 또는 마우스로 두번 클릭하면,





짜잔, 학생들의 출석일수를 통한 RANK를 알 수 있습니다.

동일한 랭킹 숫자는 동일한 경우입니다.



RANK ( number , ref , [order] )

예를 들어서  = RANK (H4, $H$4:$H$14, 0) 

동일한 방법 = RANK (H4, $H$4:$H$14

 number는 비교할 셀의 대상 위치 수를 의미합니다. 

 number =   H4 가 되겠습니다. 

 예를 들면서 학생 A의 한명의 점수를 의미합니다.


ref는 비교할 셀의 범위를 의미합니다.

ref = $H$4:$H$14는 비교할 대상의 범위를 의미합니다.

예를 들면 학생 A의 반의 모든 학생들의 점수가 비교할 대상의 범위가 됩니다.

(여기서 특이하게 $가 들어가 있는데 이건, 나중에 정확히 다루어 드리겠습니다. 단순히 범위를 지정있어 절대적으로 정하는 거다라고 생각하시면 됩니다.)


[ordeer]는 비교있어서 오름차순을 할 것이냐 내림차순으로 할 것이냐를 정하는 것입니다. 생략이 가능함으로 없을 경우 내림차순 정렬됩니다. 

order = 0는 생략이 가능합니다. 0은 내림차순  1은 오름차순 입니다.


블로그 이미지

미나미나미

,

[Excel] 엑셀 빈 칸 갯수 , 빈칸 없는 갯수 찾기 (COUNTA, COUNTBLANK)



 ■ COUNTA : 범위에서 비어 있지 않은 셀의 개수를 셉니다.


 ■ COUNTBLANK : 셀의 범위에 빈 셀의 개수를 계산


[Excel] 엑셀 빈 칸 갯수 , 빈칸 없는 갯수 찾기 (COUNTA, COUNTBLANK) <- 보러가기

[Excel] 엑셀 순위 구하기 , 랭크 함수 (RANK) <- 보러가기

[Excel] 엑셀 IF 조건문 사용하기<- 보러가기

어디한번 해보도록 하겠습니다.


예를 들어서, 학생들의 출석일수와 불출석 일수를 셀의 빈칸으로 알아 보겠습니다.



 ■ COUNTA 함수 사용하기 = 빈칸이 아닌 셀의 수


출석일수 아래의 셀에 와서 =COUNTA 또는 =counta 라고 입력하세요



그리고, '(' 입력하면 1일 1부터 5일을 드래그 하시고 ')' 를 입력하시면 


그러면 짜잔, 4라고 나옵니다 '자' 학생의 경우 4일을 출석을 했습니다.

그렇다면, 나머지 학생들은 어떻게 할까요?


마지막으로 4 옆에 작은 네모쪽에 마우스를 왼쪽을 클릭하고 쭈욱~~내리면, 아래의 화면처럼 값들이 나올겁니다.




 ■ COUNTBLANK 함수 사용하기 = 빈칸인 셀의 개수



요번에는 불출석일수 아래에 셀의 가서 =COUNTBLANK 또는 =countblank라고 입력하세요




그리고,  '(' 입력하면 1일 1부터 5일을 드래그 하시고 ')' 를 입력하시면 

짜잔, 1 라고 나옵니다 '자' 학생의 경우 1일을 불출석을 했습니다.


그리고 위와 동일하게 1의 위치에서 드래를 해주면 

모든 학생들의 출석 일수와 불출석 일수의 확인이 가능합니다.


블로그 이미지

미나미나미

,

jsp servlet(서블렛)를 통한 ajax, JsonObject, JsonObject key value 편



1. 서블렛 만드는 과정 

1-1 이클립스 servlet을 생성합니다.



1-2 이클립스 servlet을 생성할 때,

 아래에 jsonSendServlet이라는 이름으로 

 json 값을 보내줄 것임으로 아래처럼 만들어 줍니다.

function jsonSend(test) {
$.ajax({
type: "POST",
url: "/TistoryExample/jsonSendServlet",
data: test, //json을 보내는 방법
dataType: 'json',
success: function (data) { //서블렛을 통한 결과 값을 받을 수 있습니다.
alert(data);
},
error: function (e) {
alert('저장에 실패했습니다.');
}
});
}

Next 해서 설정을 아시는 분만 건드시고 모르시면 Finish를 눌러주세요



1-3 만들어진 서블렛에서 필요한 부분을 추가합니다.


//추가 import
import java.io.PrintWriter;
import java.util.Iterator;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;


1-4 doget , doPost 메소드 주석 및 제가합니다. (왜냐하면 Post만 사용하기때문)

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    // 아래 부분을 주석처리
    // 왜냐하면 doGet를 사용하지는 않지만 일단 둡시다.
    //response.getWriter().append("Served at: ").append(request.getContextPath());
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    //doGet(request, response);
}



1-5 그리고  doPost 부분에 이렇게 넣어줍니다.

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    System.out.println("jsonSendServlet doPost 메소드가 실행되었습니다.");
    request.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=utf-8");

    String A = (String)request.getParameter("A");
    String B = (String)request.getParameter("B");
    String C = (String)request.getParameter("C");
    String D = (String)request.getParameter("D");

    System.out.println("A => " + A);
    System.out.println("B => " + B);
    System.out.println("C => " + C);
    System.out.println("D => " + D);

    //response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    out.print((String)"값을 받았다!!!");
}




결과 화면 - 웹화면








결과화면 - 이클립스 












블로그 이미지

미나미나미

,