Excel では、書式設定を使用してセルに入力をフィートとインチで表​​示できますか

Excel では、書式設定を使用してセルに入力をフィートとインチで表​​示できますか

Excel を使用して、セルに数値 (インチを表す) を入力し、その数値をフィートとインチで表​​示できるようにしたいと考えています。たとえば、セル A1 に 62 と入力した場合、セル A1 には 5' 2" と表示されるようにしたいです。数式を使用して 1 つのセルの入力を取得して、必要な値に変換する方法はわかっています (つまり、=INT(A1/12)&"' "&MOD(A1,12)&"""")。ただし、変換されたバージョンは、入力されたセルと同じセルに表示されるようにしたいです (つまり、セル A1 に 62 と入力した場合、セル A1 には 5' 2" と表示されるようにしたいです)。これを行うには、書式設定が唯一の方法のように思えますが、方法がわかりません。ありがとうございます。

答え1

これは通常の書式設定にすべきでしょうか、それとも条件付き書式設定にすべきでしょうか。通常の書式設定の場合、動作させたい領域を指定する必要があります。条件付きの場合は、トリガー条件を指定する必要があります。
どちらの場合も、VBA を使用する必要があります。範囲の最初のバリアント (通常の書式設定) を想定していますA1:C3。正の数のみが書式設定されます (負の数と 0 は変更されません)。
標準モジュールに、関数コードを入力します。

Function FeetIn(data As Double) As String
   Dim ft As Long, inch As Double
   ft = Int(data / 12)
   inch = data - 12 * ft
   FeetIn = IIf(ft >= 1, ft & "' ", vbNullString) & _
            IIf(inch > 0, inch & "''", vbNullString)       ' two apostrophes
End Function

シート モジュール内:

Private Sub Worksheet_Change(ByVal Target As Range)
   Set Target = Intersect(Target, Range("A1:C3"))
   If Target Is Nothing Then Exit Sub
   Application.EnableEvents = False
   Dim cell As Range
   For Each cell In Target
      If IsNumeric(cell.Value) Then
         cell.NumberFormat = """" & FeetIn(cell.Value) & """;-General;0;@"
      Else
         cell.NumberFormat = "General"
      End If
   Next cell
   Application.EnableEvents = True
End Sub

フィート_インチ

答え2

数式を使用せずに書式設定するには、組み込みの書式を使用する必要があります。

Excel にはフィートとインチで表​​示するための形式があり、フィートの数値は小数点の前に表示され、インチは小数点部分に表示されます。

「セルの書式設定...」、カテゴリ「カスタム」を使用し、次の書式仕様を入力します。0' 0\"必要に応じてこの書式を変更します。

Excel の書式設定で実行できるのはこれだけです。それ以上のことは、追加の列でのみ使用できる数式が必要になります。

詳細については、 Excel のカスタム数値形式

関連情報