Henk는 소수점 위치에 관계없이 6 자리 숫자를 사용하여 숫자를 표시하는 방법이 Excel에 있는지 물었습니다. 예를 들어 0.1은 0.10000으로, 200은 200.000으로, 25000은 25000.0으로 표시됩니다.

안타깝게도이 트릭을 수행 할 서식은 없습니다. 모든 디스플레이 형식은 소수점 위치에 따라 달라집니다. 소수점 뒤의 특정 자릿수에 대한 디스플레이 형식을 지정할 수 있지만 소수점 앞에 나타나는 자릿수에 관계없이 해당 자릿수가 사용됩니다.

여러 ExcelTips 가입자가 수식을 사용하여 원하는대로 숫자를 표시하는 것과 관련된 제안을 내놓았습니다. 예를 들어 다음 수식은 6 자리 숫자를 사용하여 A1의 값을 표시합니다.

=FIXED(A1,IF(ABS(A1)<1,5,5-INT(LOG(ABS(A1)))),TRUE)

다른 독자들은 숫자를 텍스트 문자열로 변환하여 표시하는 공식을 제공했습니다. 그러나 숫자를 해당 텍스트로 변환하면 더 이상 다른 수식에서 숫자를 사용할 수 없다는 뚜렷한 단점이 있습니다. (기억하십시오.이 시점에서는 숫자가 아니라 텍스트입니다.) 위 공식에는 이러한 제한이 없습니다.

원하는 경우 매크로를 사용하여 값이 포함 된 셀 내에서 서식을 설정할 수도 있습니다. 이러한 매크로의 장점은 위에 표시된 것처럼 수식에 셀을 사용할 필요가 없다는 것입니다. 매크로의 단점은 값이 변경 될 때마다 셀에서 실행해야한다는 점입니다. 다음 매크로는 이러한 접근 방식의 예입니다.

Sub SetFigures()

Dim iDecimals As Integer     Dim bCommas As Boolean     Dim sFormat As String     Dim CellRange As Range     Dim TestCell As Range

bCommas = False 'Change as desired

Set CellRange = Selection     For Each TestCell In CellRange         If Abs(TestCell.Value) < 1 Then             iDecimals = 5         Else             iDecimals = 5 - Int(Log(Abs(TestCell.Value)) / Log(10#))

End If

sFormat = "0"

If bCommas Then sFormat = "#,##0"

If iDecimals < 0 Then sFormat = "General"

If iDecimals > 0 Then sFormat = sFormat & _           "." & String(iDecimals, "0")



TestCell.NumberFormat = sFormat     Next TestCell End Sub

매크로를 사용하려면 서식을 지정할 셀을 선택한 다음 실행하면됩니다. 선택한 범위의 각 셀은 셀의 숫자가 너무 크거나 너무 작은 경우를 제외하고 6 자리 숫자를 표시하도록 설정됩니다.

_ 참고 : _

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

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

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

이 팁 (1933)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.

link : / excelribbon-Using_an_Exact_Number_of_Digits [정확한 자릿수 사용].