모두 숫자인 경우에만 값을 뺍니다.

모두 숫자인 경우에만 값을 뺍니다.

하나의 특정 셀에서 Excel의 네 개의 셀을 빼고 싶지만 네 개의 셀 중 하나라도 값이 있는 경우에만 가능합니다. 더 구체적으로 제 경우 L2 셀의 수식은 현재

=IF(AND(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2),),"",D2-E2-G2-I2-K2)

하지만 E2,G2,I2,K2 셀 중 일부 또는 전체에 값이 있을 때만 이 값을 계산하고 싶습니다. 위의 내용이 사실이 아닌 이상 L2가 0을 반환하도록 하려면 공식에서 무엇을 놓치고 있습니까?

답변1

여러분이 해야 할 일은, 그리고 우리가 이틀 전에 여러분에게 요청했어야 했던 것은 어떤 입력에 대해 어떤 결과를 원하는지에 대한 몇 가지 예를 제공하는 것입니다. 네, 당신이 우리에게 몇 가지를 줬다는 걸 알아요. 하지만 그랬어야 했어요편집됨질문에; 주석은 표 형식의 데이터와 긴 수식을 담기에는 형편없는 공간입니다.잘못된질문을 이해하는 데 필요한 정보를 위한 장소입니다. 어쨌든, 제가 여러분을 위해 몇 가지 샘플 데이터를 만들었습니다. 모두 정확하지는 않습니다. 나는 그것들이 일관되지 않기 때문에 모두 정확하지는 않다는 것을 알고 있지만, 나는 여전히 당신이 원하는 것을 이해하는 데 어려움을 겪고 있기 때문에 그것들을 모두 올바르게 만드는 데 어려움을 겪을 것입니다.

        Case       D        E        G        I        K        L (Result)
        fee       40        1                                  39
        fie       40        0.01                               39.99
        foe       40        0                                  40
        fum       40                                           40
        foo       40                                            0

원하는 내용이 케이스에 반영되지 fee않으면 심각한 의사소통 문제가 있는 것입니다. fie만약 당신이 수억 년 안에 결코 실제적인 일을 하지 못한다면0E2, G2, I2또는 에서는 K2대소문자에 대해 걱정할 필요가 없습니다 foe. 따라서 $40,000 질문은 다음과 같습니다. fum( L2= 40) 또는  foo( = 0)을 원하십니까 L2?

fum( L2= 40)

이것은 간단합니다. L2다음 중 하나로 설정합니다 .

  • =D2-E2-G2-I2-K2
  • =D2-(E2+G2+I2+K2)
  • =D2-SUM(E2,G2,I2,K2)

이는 동일합니다.

foo( L2= 0)

조금 더 길지만 다음과 같이 분명합니다.

=IF(OR(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2)), D2-E2-G2-I2-K2, 0)

이것은 내 의견과 결합된 Teylyn의 답변이므로 친숙해 보일 수 있습니다(“셀 중 일부 또는 전부에 값이 있는 경우 뺄셈을 계산하려면 ... OR대신 사용하십시오 AND.”).

뭐? 무엇?

원래 공식,

=IF(AND(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2),),"",D2-E2-G2-I2-K2)

(Teylyn이 지적했듯이) AND()5개의 매개변수를 사용하여 함수를 호출하는 것입니다.

  • ISNUMBER(E2),
  • ISNUMBER(G2),
  • ISNUMBER(I2),
  • ISNUMBER(K2), 그리고
  • (공백).

그런데 엑셀에서 빈 값을 숫자로 사용하면 마치 0(영)인 것처럼 처리됩니다. 이것이 " fum" 수식이 작동하는 이유입니다. 비어 있는 셀은 0을 포함하는 것처럼 처리됩니다. 마찬가지로 Excel에서 빈 값이 부울(즉, 논리 값)로 사용되는 경우 FALSE인 것처럼 처리됩니다. 따라서 귀하의 수식은 다음과 같이 작동합니다.

=IF(AND(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2),거짓),"",D2-E2-G2-I2-K2)

이기 때문에 위의 내용은 다음과 같이 줄어듭니다.AND(anything, FALSE)FALSE

=IF(FALSE, "", D2-E2-G2-I2-K2)

아니면 단순히

=D2-E2-G2-I2-K2

이는 “ ” 공식이므로 익숙해 보일 수 있습니다 fum.


우리는 아직있다?

귀하의 질문에서 제가 놓친 부분이 있다면,질문을 수정하세요그것을 명확히 하기 위해; 예를 들어, 위의 답변 중 어느 것도 원하는 결과를 제공하지 않는 경우 샘플 데이터를 추가하세요.

답변2

모든 조건이 충족되면 수식은 빈 문자열을 반환합니다. 그 곳에서 계산을 하고 싶은 것 같아요. AND() 함수에 쉼표가 있습니다.

귀하의 구두 설명에 따르면 귀하에게 필요한 공식은 다음과 같습니다.

=IF(AND(ISNUMBER(E2),ISNUMBER(G2),ISNUMBER(I2),ISNUMBER(K2)),D2-E2-G2-I2-K2,0)

모든 셀에 값이 포함된 경우에만 계산이 수행됩니다.

하지만 E2,G2,I2,K2 셀 중 일부 또는 전체에 값이 있을 때만 이 값을 계산하고 싶습니다.

당신은 마음을 결정해야합니다. 셀에 값이 포함되어 있을 때 계산을 수행하려면 IF 문이 필요하지 않습니다. 그럴 땐 뺄셈을 하면 됩니다.

답변3

내 생각에는 도우미 행이 필요할 것 같아요. 수식을 사용하여 문제의 셀 바로 아래에 넣을 수 있습니다.

=IF(ISNUMBER(E2),E2,0)
. 그런 다음 도우미 행에서 간단한 빼기를 수행할 수 있습니다. 물론 해당 공식은 E3에 입력됩니다. 그런데 AND 문은 모든 인수가 true인 경우에만 true이므로 수식은 모든 셀에 숫자가 포함된 경우에만 작동합니다. 하나의 셀에만 숫자가 아닌 값이 포함된 경우 수식은 false로 평가되어 계산되지 않습니다. FWIW 거짓 = 0; 참 = 거짓이 아닙니다.

관련 정보