대시가 앞에 있는 텍스트 문자열을 음수로 변환합니다.

대시가 앞에 있는 텍스트 문자열을 음수로 변환합니다.

내가 이용하는 온라인 브로커는 전 세계적으로 가장 기능이 좋지 않은 웹사이트를 갖고 있는 것이 틀림없습니다! 그들은 "내보내기" 기능을 제공하지 않고 대신 사용자에게 브라우저에 렌더링된 테이블에서 데이터를 복사하여 Excel에 붙여 넣을 수 있다고 알려줍니다. (정말!)

놀랍게도 Excel(2016, Mac용)은 "양수 텍스트 숫자"를 숫자 함수( SUM일반적으로)로 작동할 수 있는 실제 숫자로 변환하도록 유도할 수 있습니다. 그러나 "음수 텍스트 숫자"는 음수로 변환하려는 모든 노력을 무시했습니다.

"양수 문자 번호": $123.45
"음수 텍스트 번호"는 -$543.21입니다(선행 텍스트 char 참고 hyphen).

편집:
"음수 텍스트 번호"는 다음과 같습니다. – $299.55(선행 문자가 발견됨)아니다hyphen; 그것은 아마도em dash
혼란을 드려 죄송합니다. 이제 어떤 프로그래머가 숫자로 가득 찬 웹 페이지에서 a em dash대신 a 를 사용할 수 있을지 궁금합니다.minus sign/hyphen온라인 브로커.

다음과 같이 A1 셀의 "양수 텍스트 숫자"를 변환할 수 있습니다.=VALUE(RIGHT(A1,6))

그러나 이것은 "음수 텍스트 번호"에서는 작동하지 않습니다. 숫자는 맞지만 음수 부호가 손실됩니다. 값 을 변경해 보았 chars으나 소용이 없습니다.

나는 또한 다음을 시도했지만 성공하지 못했습니다.
1. 1을 곱하기
2. 텍스트를 열로 변환하기
3. 셀 서식 지정...

수동으로 다시 입력하는 것 외에 다른 방법이 있나요?

답변1

간단한 해결책을 찾은 것 같아요. 앞에 em 대시가 있는 셀 중 하나에서 em 대시만 강조 표시하고 복사합니다. Excel의 "찾기 및 바꾸기" 기능을 사용하여 "찾을 내용" 블록에 em-대시를 붙여넣은 다음 "바꾸기" 블록에 빼기 기호를 입력합니다. 변환하려는 모든 셀에 바꾸기를 적용합니다.

답변2

셀 A1에 다음이 포함된 경우텍스트"$123.45" 또는 "-$543.21" 형식인 경우 다음 공식을 사용하여 숫자 값을 얻을 수 있습니다.

=IF(LEFT(A1,1)="-",0-VALUE(RIGHT(A1,LEN(A1)-1)),VALUE(A1))

텍스트가 "-"로 시작하면 "-" 뒤의 모든 값을 가져와 음수로 만듭니다.

답변3

나는 다음을 추천합니다:

  1. 부호 뒤의 값 추출 $, 고정 위치 사용 안 함
  2. 기호 바로 앞에 기호를 확인하여 값 기호를 확인하세요 $.

따라서 공식은 다음과 같을 수 있습니다.

=IF(IF(ISERROR(FIND(MID(A1,FIND("$",A1)-1,1),"<dash><hyphen>")),3,FIND(MID(A1,FIND("$",A1)-1,1),"<dash><hyphen>"))<3,-MID(A1,FIND("$",A1)+1,LEN(A1)),0+MID(A1,FIND("$",A1)+1,LEN(A1)))

어디

"<dash><hyphen>"- 음수 기호가 가능한 리터럴(자리 표시자를 어떤 순서로든 적절한 문자로 바꾸면 표시된 경우에 2-기호 리터럴을 얻을 수 있음)

3- 이전 리터럴의 문자 수보다 큰 수

Z1해당 값은 가능한 모든 "빼기" 기호(예: 및 1+LENGTH(Z1)각각) 를 포함하는 셀에 대한 참조로 대체될 수 있습니다 .


업데이트. 수식을 디버깅합니다.

빈 워크시트에 테이블을 만듭니다.

A 열에 4개의 다른 값을 삽입합니다(선행 공백 없음/포함, 양수/음수).

아래 수식을 삽입하세요.

Cell          Formula                      Meaning
-------------------------------------------------------------
$B$1          =IF(I1,-G1,0+G1)             Result
$C$1          =LEN(A1)                     Data length in source
$D$1          =FIND("$",A1)                $ position in source
$E$1          =MID(A1,D1-1,1)              symbol before $
$F$1          =FIND(E1,"<dash><hyphen>")   symbol before $ position in hyphens list
$G$1          =MID(A1,D1+1,C1)             number from source
$H$1          =ISERROR(F1)                 correction when no symbol before $ in list
$I$1          =IF(H1,3,F1)<3               define is a source positive or negative

이 수식 팩을 2~4행에 복사합니다. 다음과 같은 출력이 나오는지 확인하세요.

     A        B      C   D   E      F       G    H       I
1    $123     123    4   1   #VAL!  #VAL!   123  TRUE    FALSE   
2    -$234    -234   5   2   -      1       234  FALSE   TRUE    
3      $345   345    6   3          #VAL!   345  TRUE    FALSE   
4      -$456  -456   7   4   -      1       456  FALSE   TRUE    

CI 열에는 단일 계산 단계가 포함되고 B 열에는 모든 대체 항목이 포함된 최종 수식이 포함됩니다.

계산실패는 어디에 있나요?

관련 정보