반응형

안녕하세요.

 

질문을 하고, 질문을 해결하는 과정을 소개하려고 합니다.

 

질문을 받았습니다.

A1-C1 또는 C1-B1 에 숫자 입력 결과 값이 양수이면 D1에 음수이면 E1에 값을 나타내는 수식이 급히 필요합니다 도와주세요

질문을 해결하는 방법은 별로 어려워 보이지 않습니다. IF 함수로 결과값이 양수냐, 음수냐에 따라 나타내기만 하면 됩니다.

문제는 그 나타낼 결과값이 A1-C1의 결과인지 C1-B1의 결과인지가 나와 있지 않습니다.

 

도대체 원하는 결과가 무엇인지 고민하다 결국 질문자에게 물어 봅니다.

'A1-C1'과 'C1-B1' 두 개의 계산이 있는데, 양수인 경우 D1에 나타날 결과값은 두 계산 중 어느 것에 값입니까? 또 음수인 경우 E1에 나타날 결과값은 어느 계산의 결과입니까?

D1 셀과 E1 셀에 IF 함수로 작성해 구할 수 있습니다.

좀 시간이 흐른 뒤  답변이 달립니다.

D1에 들어갈 수식은 A1-C1>0 과 C1-B1>0 이고, E1에 들어갈 수식은 A1-C1<0 과 C1-B1<0 입니다
즉 D1의 수식은 A1(7) - C1(5)=2(양수) 와 C1(5) - B1(4)=1(양수) , E1의 수식은 7 - 9 = - 2(음수), 5 - 7 = - 2(음수)

질문 내용에 실제 계산할 값이 포함되어 구체적으로 표현되었습니다. 그럼에도 결과 셀에 어떤 값이 나타나야 하는지는 알 수 없습니다.

일단 값이 있으니 엑셀을 실행해 값을 넣어 만들어 볼 수 있습니다.

 

[A1], [B1], [C1] 셀에 제시된 값을 넣습니다.

[D1] 셀에 수식을 작성합니다.

조건에 따라 다르게 동작해야 하니 IF 함수를 쓰고, 조건에 두 수식을 넣어야 하고, 두 조건이 모두 만족하는 경우에 대해 판단해야 하니 논리함수 중 AND 함수를 씁니다.

엑셀 수식은 결과가 표시될 셀을 기준으로 만들어야 합니다. 수식으로 구해진 값을 다른 셀에 나타낼 수는 없기 때문입니다.

 

아직 해결되지 않은 것이 있는데, 나타낼 결과값입니다.

수식이 두 개인 경우 두 값을 한 셀에 나타낼 수는 없습니다. 두 값의 합을 구하거나 빼거나 곱해서 하나의 값으로 만들어야 합니다.

결과를 나타내지 않으면 수식을 작성할 수 없으니 적당히 타협해서 두 계산값을 문자열 결합 연산자 &로 붙여 나타내기로 합니다. 합이나 곱이 필요하다면 연산자만 바꾸면 됩니다.

다시 답변을 답니다.

아직 해결되지 않았죠?
D1 셀 수식 =IF(AND(A1-C1>0,C1-B1>0),A1-C1 & " " & C1-B1,"")
E1 셀 수식 =IF(AND(A1-C1<0,C1-B1<0),A1-C1 & " " & C1-B1,"")

D1 셀에 들어가는 계산식이 두 개이므로 결과도 두 개가 나옵니다. 이걸 어떻게 나타낸다는 말이 없어서 문자열 결합 연산자로 붙여 나타냈습니다.

응답이 옵니다.

 

감사하고 고맙습니다 저가 설명을 잘 못해서 죄송합니다 A1,B1중 한셀과 C1만 입력합니다 예로 A1(7)-C1(5) 를 입력하면 D1에 2가 나타나며, C1(7)-B1(4) 를 입력하면 D1에 3 이 나타납니다, 또 A1(7)-C1(9) 를 입력하면 E1에 -2가 나타나며, C1(7)-B1(9) 를 입력하면 E1에 -2 가 나타내기를 원합니다 가능한지요 ? 해결되리라 믿습니다

이제 완전한 질문이 되었습니다. 처음에 이 질문이어야 했었는데, 여기까지 오는데 꽤 시간이 걸렸습니다.

 

질문을 받는 사람에게 충분한 정보를 제공해야 합니다.

질문하는 사람은 문제에 대해 여러 정보를 알고 있고, 또 문제를 해결하기 위해 생각을 했을테니 조금만 적어도 상대방이 알겠거니 하겠지만, 질문을 받는 사람은 처음 듣는 내용이고, '왜', '어디서' 이런 일이 필요한지도 모르는 상황에서 대답해야 하니, 질문을 해결하는데 들이는 노력보다 질문을 이해하기 위한 노력이 더 많이 필요한 상황에 놓이게 됩니다.

 

[A1] 셀이나 [B1] 셀이 비어 있는지 확인해야 합니다.

IF 함수의 조건에 ISBLANK 함수를 이용해 빈 셀을 확인하고, 다시 IF 함수로 계산 결과가 양수인지, 음수인지에 따라 나타낼 것인지를 결정하는 수식을 작성합니다.

세 개의 IF 함수가 중첩되어 복잡해 보이지만, 이럴 때 함수 인수 대화상자를 이용하면 한번에 하나의 IF 함수에만 집중할 수 있습니다.

수식을 완성합니다.

뿌듯한 마음으로 답글을 답니다.

D1 셀 =IF(ISBLANK(B1),IF(A1-C1>0,A1-C1,""),IF(C1-B1>0,C1-B1,""))
E1 셀 =IF(ISBLANK(B1),IF(A1-C1<0,A1-C1,""),IF(C1-B1<0,C1-B1,""))

질문하는 것도 연습이 필요합니다. ^^

만들어진 수식은 너무 간단해 어디 소개할 정도도 되지 않지만, 이 과정을 통해 질문하는 방법을 익히는데, 도움이 됩니다.

 

IF 함수를 여러 번 중첩하는 수식은 아주 흔하고, 특정 셀이 비어 있는지 확인하는 ISBLANK 함수가 있는지 여부만 알면 어렵지 않게 배울 수 있지만, 처음 수식을 배우는 입장에선 응용해야 하는 건 항상 쉽지 않은 일입니다.

 

다시 질문입니다.

안녕하세요 며칠전 도움받은 학생입니다

D1 셀 =IF(ISBLANK(B1),IF(A1-C1>0,A1-C1,""),IF(C1-B1>0,C1-B1,""))
E1 셀 =IF(ISBLANK(B1),IF(A1-C1<0,A1-C1,""),IF(C1-B1<0,C1-B1,""))

위 수식을 실행해 본 결과 A1에 입력하면 D1에도 나타나며, 또 B1에 입력하면 E1에도 나타납니다 C1에 입력하기 전엔 안 나타나게 하면 더 좋겠습니다
(이대로 사용은 됩니다만) 가능하다면 한번더 수고해 주시면 고맙겠습니다

[C1] 셀에 값이 있을 때만 수식 결과가 나타나도록 하려면 수식을 IF 함수로 다시 묶으면 됩니다.

[D1] 셀 수식

=IF(ISBLANK(C1),"",IF(ISBLANK(B1),IF(A1-C1>0,A1-C1,""),IF(C1-B1>0,C1-B1,"")))

[E1] 셀 수식

=IF(ISBLANK(C1),"",IF(ISBLANK(B1),IF(A1-C1<0,A1-C1,""),IF(C1-B1<0,C1-B1,"")))

 

처음 배우는 입장에서, 또는 어느 정도 알고 있다고 해도 모든 것을 알고 있을 수는 없습니다.

결국 어떤 식으로든, 누군가에게든 질문을 해야 하는데, 이 때 질문을 잘 해야 좋은 답도 잘 받을 수 있습니다.

 

답을 구하는데 필요한 노력 이상으로 질문하는데도 노력을 들여야 합니다. 질문하기 위해 문제를 정리하다 답을 구하는 경우도 있습니다. 답만 구하고 끝나는 것이 아니라 답을 구하는 과정에서 배워야 합니다.

결국 나도 누군가의 질문에 답하는 사람이 될 수 있어야 합니다.

 

빠르게 배우려면 다른 사람의 질문에 답하는 사람이 되는 것도 방법이 됩니다.

다양한 경험을 하게 되고, 답을 찾는 과정에서 질문의 답보다 더 많은 부분을 배우게 됩니다.

 

필요하신 분께 도움이 되길 바랍니다.

반응형

+ Recent posts