• 최초 작성일: 2000-12-08
  • 최종 수정일: 2026-09-29
  • 조회수: 20 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: -표시 처리하기

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

다음은 Exceller 주위에 있는 어느 분의 질문입니다.

"회사 Server에서 (텍스트 형태의) 자료를 다운받았는데 어떤 숫자는 뒤에 -표시가 붙어있어서 제대로 집계를 할 수 없습니다. 무슨 방법이 없을까요?"

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 지음

📊 신간 전자책(PDF) · 287쪽 · 13500원

엑셀 대시보드를 만드는 최적의 '표준 3계층 구조'

  • 3초 안에 읽히는 화면 설계 감각 습득
  • Microsoft Excel MVP의 실전 노하우 수록
  • 중간마진 없는 합리적인 가격, 오직 아이엑셀러에서만!
지금 구매하기 완성 화면 보기

-표시 처리하기

핵심 요약

  • 텍스트 데이터가 546206-처럼 뒤에 마이너스 기호가 붙어 있으면 그대로는 정상적인 숫자 계산을 할 수 없습니다.
  • FIND로 마이너스 기호를 찾고 LEFT·LEN으로 숫자 부분을 분리한 뒤 VALUE로 실제 음수 값으로 변환할 수 있습니다.
  • IF와 ISERROR를 함께 사용하면 마이너스가 없는 정상 숫자는 그대로 두고 문제가 있는 값만 변환할 수 있습니다.

<Source>

CODE 매출액 매출원가 매출총이익 영업이익 영업외이익 영업외비용 경상이익 경상이익2
A10011 23123123.4560000002 1981874 =B14-C14 3513781.966 1756551.993 2994927.554 3389942.645 =IF(ISERROR(FIND("-",H14)>0),H14,VALUE("-"&LEFT(H14,LEN(H14)-1)))
A10012 45619615.8320000023 34134209.2100000009 =B15-C15 3430820.7599999998 1929882.5919999999 3441095.6839999999 1919607.6680000001 =IF(ISERROR(FIND("-",H15)>0),H15,VALUE("-"&LEFT(H15,LEN(H15)-1)))
A10013 63240334.5439999998 15932121 =B16-C16 17756383.2419999987 1137892.28 2019663.4240000001 16874612.0980000012 =IF(ISERROR(FIND("-",H16)>0),H16,VALUE("-"&LEFT(H16,LEN(H16)-1)))
A10014 62589685.0549999997 7646319.5389999999 =B17-C17 28008771.8150000013 961793.465 1840329.723 130235- =IF(ISERROR(FIND("-",H17)>0),H17,VALUE("-"&LEFT(H17,LEN(H17)-1)))
A10015 42012547.7519999966 5091044.5980000002 =B18-C18 5660534.7649999997 702178.107 1228435.933 5134276.9390000002 =IF(ISERROR(FIND("-",H18)>0),H18,VALUE("-"&LEFT(H18,LEN(H18)-1)))
A10016 34801280.4790000021 8622976.8190000001 =B19-C19 6137530.875 540729.368 1128399.4110000001 5549860.8320000004 =IF(ISERROR(FIND("-",H19)>0),H19,VALUE("-"&LEFT(H19,LEN(H19)-1)))
A10017 31916907.5769999996 7561181.5860000001 =B20-C20 652812.675 567315.38 1062661.702 157466.353 =IF(ISERROR(FIND("-",H20)>0),H20,VALUE("-"&LEFT(H20,LEN(H20)-1)))
A10018 19128329.2250000015 11111115 =B21-C21 2919137.7069999999 405265.181 471472.643 2852930.2450000001 =IF(ISERROR(FIND("-",H21)>0),H21,VALUE("-"&LEFT(H21,LEN(H21)-1)))
A10019 19077033.7919999994 1131559.987 =B22-C22 2071005.2560000001 289782.244 531414.21 1829373.29 =IF(ISERROR(FIND("-",H22)>0),H22,VALUE("-"&LEFT(H22,LEN(H22)-1)))
A10020 20000123 5728624.7549999999 =B23-C23 2788885.733 660557.474 726830.147 2722613.0600000001 =IF(ISERROR(FIND("-",H23)>0),H23,VALUE("-"&LEFT(H23,LEN(H23)-1)))
A21002 13774742.8870000001 3888756.3429999999 =B24-C24 1655804.1839999999 269809.362 697128.365 1228485.1810000001 =IF(ISERROR(FIND("-",H24)>0),H24,VALUE("-"&LEFT(H24,LEN(H24)-1)))
A21003 12957327.4020000007 5115882.3059999999 =B25-C25 958064.255 575612.983 583316.518 950360.72 =IF(ISERROR(FIND("-",H25)>0),H25,VALUE("-"&LEFT(H25,LEN(H25)-1)))
A21004 9503653.4580000006 6024687.3150000004 =B26-C26 -558370.601 415806.464 403641.968 546206- =IF(ISERROR(FIND("-",H26)>0),H26,VALUE("-"&LEFT(H26,LEN(H26)-1)))
A21005 9254949.284 4232002.3600000003 =B27-C27 1404628.01 147150.146 262363.378 1289414.7779999999 =IF(ISERROR(FIND("-",H27)>0),H27,VALUE("-"&LEFT(H27,LEN(H27)-1)))
A21006 8581821.1950000003 4715924.6500000004 =B28-C28 -1567281.298 144835.119 239474.997 1661921- =IF(ISERROR(FIND("-",H28)>0),H28,VALUE("-"&LEFT(H28,LEN(H28)-1)))
A21007 8482274.2310000006 2008614.673 =B29-C29 -1120606.1629999999 110274.155 226983.875 123731 =IF(ISERROR(FIND("-",H29)>0),H29,VALUE("-"&LEFT(H29,LEN(H29)-1)))
A21008 7905880.3059999999 5500385.4129999997 =B30-C30 -909334.966 361773.375 333632.936 881194- =IF(ISERROR(FIND("-",H30)>0),H30,VALUE("-"&LEFT(H30,LEN(H30)-1)))
A21009 7618921.5779999997 1520858.9480000001 =B31-C31 1386782.101 101503.464 186425.632 1301859.933 =IF(ISERROR(FIND("-",H31)>0),H31,VALUE("-"&LEFT(H31,LEN(H31)-1)))
A21010 7376100.3600000003 882496.561 =B32-C32 3349027.5800000001 90177.359 217872.93 3221332.0090000001 =IF(ISERROR(FIND("-",H32)>0),H32,VALUE("-"&LEFT(H32,LEN(H32)-1)))
B30011 6937535.4620000003 2705169.9339999999 =B33-C33 1360786.3500000001 271997.392 268237.931 1364545.811 =IF(ISERROR(FIND("-",H33)>0),H33,VALUE("-"&LEFT(H33,LEN(H33)-1)))
B30012 6520256.0159999998 4741603.2690000003 =B34-C34 -1695696.442 259783.688 247521.399 163434- =IF(ISERROR(FIND("-",H34)>0),H34,VALUE("-"&LEFT(H34,LEN(H34)-1)))
B30013 6505435.4519999996 5532928 =B35-C35 2095372.0490000001 107615.97 179226.071 2023761.9480000001 =IF(ISERROR(FIND("-",H35)>0),H35,VALUE("-"&LEFT(H35,LEN(H35)-1)))
B30014 6252700.8229999999 1795365.3 =B36-C36 1507164.9639999999 80401.017 130484.235 1457081.746 =IF(ISERROR(FIND("-",H36)>0),H36,VALUE("-"&LEFT(H36,LEN(H36)-1)))
B30015 5867188.0180000002 2416563.307 =B37-C37 332571.353 86360.915 108679.243 310253.025 =IF(ISERROR(FIND("-",H37)>0),H37,VALUE("-"&LEFT(H37,LEN(H37)-1)))
B30016 5801339.3169999998 1485892.79 =B38-C38 1620543.3870000001 97524.091 268812.316 14495- =IF(ISERROR(FIND("-",H38)>0),H38,VALUE("-"&LEFT(H38,LEN(H38)-1)))
B30017 5470702.0120000001 3217041.6940000001 =B39-C39 381024.748 250054.866 233640.632 397438.982 =IF(ISERROR(FIND("-",H39)>0),H39,VALUE("-"&LEFT(H39,LEN(H39)-1)))
B39999 5130289.7390000001 1822250.608 =B40-C40 1036681.901 219368.881 239127.511 1016923.2709999999 =IF(ISERROR(FIND("-",H40)>0),H40,VALUE("-"&LEFT(H40,LEN(H40)-1)))

위 표에서 경상이익 부분을 보세요. 대부분의 셀은 정상적으로 표기가 되어있지만 분홍색 셀은 숫자 뒤에 -표시가

있기 때문에 제대로 된 경상이익을 구할 수 없습니다. 이 자료는 질문하신 분의 자료를 약 10% 정도만 발췌하여 가공한 것입니다. 이 정도만 되어도 눈이 어지러운데 이것보다 10배 20배나 자료가 많다면 일일이 눈으로 확인해 가며 고쳐주기란 쉽지 않을 것입니다.

VBA 코딩을 통해서도 가능하겠지만 함수 몇 가지만 활용하면 더 간단하게 해결을 할 수가 있습니다. [경상이익2]와 같이 말이지요. [경상이익2]에는 이런 수식이 들어 있습니다.

=IF(ISERROR(FIND("-",K14)>0),K14,VALUE("-" & LEFT(K14,LEN(K14)-1)))

네 가지의 함수를 조합하였는데 지금까지 한번씩은 설명을 드린 것이지요? 여기서 Value() 함수는 (숫자 형태의)문자열 데이터를 숫자로 바꾸어주는 함수입니다.

처음 보시는 분은 좀 복잡해 보여도 하나씩 분해해서 보시면 쉽게 이해하실 수 있을 것입니다. 많이 응용해 보시기를…

다음 시간에…

2000-12-08

정리 — -표시 처리하기

구분내용
문제텍스트로 내려받은 숫자 뒤에 -가 붙어 있어 집계가 되지 않음
해결 수식=IF(ISERROR(FIND("-",H14)>0),H14,VALUE("-"&LEFT(H14,LEN(H14)-1)))
FIND값에서 - 기호를 찾음. 없으면 에러가 발생하므로 원래 값을 그대로 사용
LEFT, LEN- 기호가 있으면 마지막 글자를 뺀 숫자 부분만 가져옴
VALUE앞에 - 를 붙인 숫자 형태의 문자열을 실제 숫자로 변환

자주 묻는 질문 (FAQ)

Q1. 숫자 뒤에 마이너스가 붙은 텍스트를 음수로 바꾸려면 어떻게 하나요?

FIND, LEFT, LEN, VALUE 함수를 조합합니다. 마이너스를 제외한 숫자 부분을 LEFT와 LEN으로 가져와 앞에 마이너스를 붙이고 VALUE로 숫자로 바꿉니다.

Q2. 마이너스가 없는 정상 값은 어떻게 처리되나요?

IF와 ISERROR를 함께 사용합니다. 마이너스를 찾지 못해 에러가 나는 값은 원래 값을 그대로 사용하므로 정상 숫자는 변하지 않습니다.

Q3. VALUE 함수는 어떤 역할을 하나요?

숫자 형태의 문자열 데이터를 실제 숫자로 바꾸어 주는 함수입니다.

마치며

함수 몇 가지를 조합하면 VBA 없이도 많은 자료를 한꺼번에 정리할 수 있으니 응용해 보시기 바랍니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.