수식을 사용하여 여러 셀의 내용을 하나의 셀로 병합 할 때 Kris는 Excel에서 원본 셀의 서식을 유지하는 데 문제가 있습니다. 예를 들어 셀 A1과 B1에 각각 1과 0.33이 포함되어 있다고 가정합니다. C1 셀에 다음 수식을 입력합니다.

=A1 & " : " & B1

C1 셀의 결과는 다음과 같습니다.

1:0.3333333333

결과 C1이 B1 (0.33)에 표시된 것과 일치하지 않는 이유는 B1의 값이 실제로 0.33이 아니기 때문입니다. 내부적으로 Excel은 값을 15 자리로 유지하므로 B1 셀에 = 1 / 3과 같은 수식이 포함되어 있으면 내부적으로 0.33333333333333으로 유지됩니다. 그러나 B1 셀에 표시되는 내용은 셀 서식에 따라 다릅니다. 이 경우 서식은 소수점 이하 두 자리 만 표시하도록 설정되어있을 수 있습니다.

그러나 셀 C1에서 원하는 결과를 얻을 수있는 여러 가지 방법이 있습니다. 한 가지 방법은 A1 및 B1 셀에서 가져온 값의 서식이 지정되도록 수식을 약간 수정하는 것입니다. 예를 들어 다음 예제에서는 TEXT 함수를 사용하여 형식을 지정합니다.

=TEXT(A1,"0") & " : " & TEXT(B1,"0.00")

이 경우 A1은 정수만 표시하도록 형식이 지정되고 B1은 소수점 이하 두 자리 만 표시되도록 형식이 지정됩니다. ROUND 함수를 사용하여 비슷한 결과를 얻을 수도 있습니다.

=ROUND(A1,0) & " : " & ROUND(B1,2)

또 다른 가능한 해결책은 Excel이 통합 문서의 정밀도를 처리하는 방식을 변경하는 것입니다. 다음 단계를 따르십시오.

  1. Excel 옵션 대화 상자를 표시합니다. (Excel 2007에서는 Office 단추를 클릭 한 다음 Excel 옵션을 클릭합니다. Excel 2010 이상 버전에서는 리본의 파일 탭을 표시 한 다음 옵션을 클릭합니다.)

  2. 대화 상자 왼쪽에있는 고급 옵션을 클릭합니다.

  3. 이 통합 문서를 계산할 때 섹션이 표시 될 때까지 사용 가능한 옵션을 스크롤합니다. (그림 1 참조)

  4. 표시된대로 정밀도 설정 확인란이 선택되어 있는지 확인합니다.

  5. 확인을 클릭하십시오.

이제 Excel은 일반적으로 유지되는 전체 15 자리 정밀도로 계산을 수행하는 대신 모든 계산 및 연결에서 화면에 표시된 정밀도를 사용합니다. 이 접근 방식은 일부 사용자에게는 허용 될 수 있지만 다른 사용자에게는 해결하는 것보다 더 많은 문제가 발생합니다. 원하는 방식으로 출력을 형식화하려면 더 낮은 정밀도로 살 수 있는지 결정해야합니다.

또 다른 접근 방식은 거기에 저장되는 것이 아니라 대상 셀에 대해 표시되는 것을 반환하는 사용자 정의 함수를 만드는 것입니다. 다음 매크로는 이와 관련하여 훌륭하게 작동합니다.

Function FmtText(rng As Range)

Application.Volatile     FmtText = rng.Cells(1).Text End Function

이 매크로를 사용하려면 워크 시트에서 다음과 같은 수식을 사용합니다.

=FmtText(A1) & " : " & FmtText(B1)

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (8886)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.

link : / excel-Matching_Formatting_when_Concatenating [Matching Formatting when Concatenating].