수식을 사용하여 Excel 셀 텍스트가 숫자인지 확인하십시오.


13

셀 텍스트가 숫자 값 인지 확인하고 현재 상태 또는 값을 방해하지 않는 우아한 비 VBA 방법 을 사용하고 싶었습니다 .

내가 찾은 것은 ISNUMBER()셀이 숫자 서식이거나 텍스트 서식이있는 경우 공백없는 경우에만 함수가 작동 한다는 것입니다 .

텍스트 예제로 숫자

처음 사용한 세 가지에 대한 =ISNUMBER(...)마지막 시도는 =ISNUMBER(TRIM(...))입니다.

VBA를 사용하지 않는 유일한 방법은 텍스트를 사용하여 현재 값을 열로 재정의 한 다음 =ISNUMBER()함수 를 사용하는 것입니다.

참고 : VBA 및 Excel에 능숙하며 사용자 정의 함수를 만들 수 있음을 알고 있습니다. 그러나 이것이 매크로 필수 통합 문서 또는 추가 기능을 설치해야하기 때문에 원하지 않습니다.

조언, 생각 (할 수 없다고 말하더라도) 또는 VBA 솔루션 (그러나 답변으로 표시되지 않음)에 감사드립니다.


4
FWIW의 대안 ISNUMBER은 거의 사용되지 않습니다 N. 이와 같은 것=NOT(ISERR(N(--A1)))
brettdj

1
@brettdj 감사합니다! 가장 적은 수의 문자를 사용하고 빠르고 더러운 답변을 얻으려면 지금 얻었습니다 =N(-A1). 그것도 존재하지 않았다.
glh

셀 참조 앞의 하이픈의 목적은 무엇입니까? 왜 각각 다른 하이픈이 있습니까?
youcantryreachingme

답변:


30

셀 값에 1을 곱한 다음 IsNumberTrim함수 를 실행하십시오.

=IsNumber(Trim(A1)*1)


2
속도와 좋은 답변으로 +1 당신의 얼굴에 물건이 맞으면 짜증나지만 볼 수는 없습니다!
glh

1
또한 나는 당신이 심지어 사용할 필요가 없다는 것을 알았습니다 trim. 나의 안부.
glh

2
@glh 때로는 가끔 눈앞에 무엇이 있는지 알기 위해 또 다른 눈이 필요합니다. :)
David Zemens 1

5

변환하려는 값이 A1에 있다고 가정하면 다음 공식을 사용할 수 있습니다.

=ISNUMBER(VALUE(TRIM(CLEAN(A1)))

여기서 clean 및 trim 기능은 공백을 제거하고 인쇄 가능한 문자를 제거하지 않습니다. 함수 값은 문자열을 숫자로 변환하고 변환 된 문자열을 사용하여 값이 숫자인지 확인할 수 있습니다.


3
+1. 빠르고 더러운 =VALUE(A1)데이터가 필요하지 않기 때문에 좋아 합니다 CLEAN(). VALUE()기능이 존재 하는지 몰랐습니다 . 다만주의 할 TRIM()공간이 어쨌든 무시됩니다으로 아무것도하지 않는다.
glh

3

짧은 내 질문에있어 대답은 :

=N(-A1)

감사합니다 brettdj


2

나는이 게시물이 오래되었다는 것을 알고 있지만이 경우에는 이것이 매우 유용하다는 것을 알았습니다.이 경우 숫자 (33)를 반환하는 수식이 있었지만 ISNUMBER는 대답이 필요하지 않은 경우에도 답변을 원하지 않더라도 숫자라고 말합니다 숫자 이외의 문자 다음은 나를 위해 일했습니다.

=IF(AND(ISNUMBER(--(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))),"Is Number","")

숫자 이외의 문자가 있으면 작동합니다. 만약 당신이 진실한 거짓 드롭을 원한다면

=AND(ISNUMBER(--(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))))

David Zemens가 말했듯이

=IsNumber(Trim(A1)*1)

작동하지만 "-"가 있거나 숫자가 괄호 안에 있으면 숫자라고 말합니다.

이것이 당신이나 다른 사람들을 돕기를 바랍니다.


0

누군가 숫자가 아닌 것을 포함하는 셀을 필터링 해야하는 경우 :

=AND(SUMPRODUCT(--ISNUMBER(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))=LEN(A1),A1<>"")

소수와 음수 결과 FALSE

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.