Peterは、Excelで、インチ、フィート、マイルなどの帝国の直線距離を処理するカスタム数値形式を作成できるかどうかを尋ねました。簡単に言うと、これは不可能です。 Excelは10進法でネイティブに機能し、多くのインペリアル測定システムは他の記数法に基づいています(たとえば、12を底とするフィート)。カスタムフォーマットは数値の表示方法を変更できますが、インペリアル測定に必要な変換を実行することはできません。

あなたの最善の策は、あなたが望むどんな帝国測定の異なる単位も異なるセルに保つことです。たとえば、3マイル、428フィート、および7インチの距離を、1つはマイル、1つはフィート、もう1つはインチの3つのセルに保持できます。次に、必要な測定システムに変換するために必要な式を作成できます。

インターネット上にはExcelアドインもあり(クイック検索で見つけることができます)、この手法を使用して線形測定を操作できます。

別のアプローチは、値を線形測定値に変換してテキストとして表示するカスタム関数またはマクロを開発することです。結果を数学関数で使用することはできませんでしたが、ワークブックに必要な結果が得られる場合があります。たとえば、次の単純なマクロについて考えてみます。

Function N2MYFI(x) As String     Dim x1 as Long     Dim FinalAnswer As String

x1 = x     Distances = Array(63360, 36, 12, 1)

FinalAnswer = ""

For Each Item In Distances         FinalAnswer = FinalAnswer & " " & Int(x1 / Item)

x1 = x1 - Item * Int(x1 / Item)

Next

N2MYFI = Trim(FinalAnswer)

End Function

この関数は、生の値のマイル、ヤード、フィート、インチ(MYFI)の数を表す4つの数値を文字列で返します。関数に供給される値は、次のようにインチ単位であると想定されています。

=N2MYFI(100)

これにより、文字列「0 2 2 4」が返されます。これは、100インチに0マイル、2ヤード、2フィート、および4インチがあることを意味します。関数を簡単に変更して、必要な形式で値を返すことができます。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(3137)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。