シャロンは、距離を記録するために使用するワークシートを持っています。ワークシートにデータを入力する人もいれば、距離をマイル(15 mなど)で入力する人もいれば、距離をキロメートル(28 Kmなど)で入力する人もいます。

シャロンは、セルに配置されたものをすべてキロメートルに変換してすべての答えが同じになるように使用できる数式があるかどうか疑問に思います。

変換を行うために使用できる数式がありますが、それらに到達する前に、ワークシートをどのようにまとめているかを検討することをお勧めします。データ管理の観点から、値の入力と同じセルに単位を指定できるようにすることはお勧めできません。問題は、考えられるすべてのユーザーの間違いやタイプミスをトラップすることが決してできないということです。たとえば、誰かが15マイルを次のいずれかとして入力できます:15マイル、15マイル、15マイル、15マイル、15ナイル、15ニ、15ムー、15マイル、15マイルなど。kmの入力でも同じ問題が発生します。

単位の指定から値を分割することをお勧めします。たとえば、誰かがセルB4に値を入力してから、セルC4に、値がマイルまたはキロメートルのどちらを表すかについての指定子を入力できるようにすることができます。セルのデータ検証を使用して、入力の許容可能な選択肢を制限できます。その結果、より「防弾」なデータ入力方法が実現します。

そうは言っても、データ変換を行うためのいくつかのアイデアを調べてみましょう。 Excelは、奇妙なことに、ある測定システムから別の測定システムへのデータ変換を実行できるクールなCONVERT関数を提供します。 CONVERT関数は、AnalysisToolPakの一部です。マイルからキロメートルに変換する式は次のようになります。

=CONVERT(B4,"mi","km")

CONVERT関数で指定できるすべての測定単位を知りたい場合は、Excelのオンラインヘルプシステムがその役割を果たします。

セルC4を使用して測定単位(「mi」または「km」)を指定する場合、次の数式を使用して、セルB4に入力されたものがキロメートルで表されていることを常に確認できます。

IF(C4="mi",CONVERT(B4,"mi","km"),B4)

測定単位を別のセルに分割できない場合は、入力内容に対してデータ変換を試みる必要があります。覚えておくべき重要なことは、入力されたものはすべて、数字以外の文字が含まれているため、Excelではテキスト値として扱われるということです。

誰かがセルB4に引用符なしで値「5mi」を入力したと仮定しましょう。数式を使用して、数字以外の文字を取り除く必要があります

=IF(RIGHT(SUBSTITUTE(B4," ",""),2)="mi",CONVERT(VALUE( LEFT(B4,LEN(B4)-2)),"mi","km"),VALUE(LEFT(B4,LEN(B4)-2)))

数式はセルB4の値を調べ、セル内のスペースが削除された後、右端の2文字を具体的に調べます。これらの2文字が「mi」(もちろん引用符なし)の場合、CONVERT関数を使用してセルの数値部分を変換します。右端の2文字が「mi」以外の場合、数式はセルの数値部分を変更せずに返すだけです。

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

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