수식을 사용하여 Excel 셀 텍스트가 숫자인지 확인하십시오. 함수가 작동 한다는 것입니다 . 처음 사용한

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

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

텍스트 예제로 숫자

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

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

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

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



답변

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

=IsNumber(Trim(A1)*1)


답변

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

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

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


답변

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

=N(-A1)

감사합니다 brettdj


답변

나는이 게시물이 오래되었다는 것을 알고 있지만이 경우에는 이것이 매우 유용하다는 것을 알았습니다.이 경우 숫자 (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)

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

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


답변

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

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

소수와 음수 결과 FALSE


답변