リチャードはセルに値を入力し、Excelに値が千であると想定させたいと考えています。たとえば、彼は「3」を入力したいと考えています

セルに入れて、Excelに値を3,000として処理させます。彼が「14」に入った場合

セルに入れると、Excelはそれを14,000として扱う必要があります。

入力後のデータの処理方法に応じて、これを処理する方法はいくつかあります。 1つのアプローチは、値が入力されているセルのフォーマットを変更することです。たとえば、セルに次のカスタム形式を使用できます。

#,##0",000"

セルに値を入力するたびに、Excelは値の後に「、000」を付けます。したがって、セルに27と入力すると、Excelは27,000を表示します。

このアプローチの欠点は、基になる数値が依然として小さい値と見なされることです。後でセルの内容に1を追加しようとすると、27,001は得られず、28,000が得られます。また、10進値を入力することもできなくなります。これは、1.23と入力した場合、1,230を取得しないことを意味します。値は表示される前に整数として扱われるため、代わりに1,000を取得します。

より良いアプローチは、おそらく、Excel自体の構成設定を変更することです。次の手順に従ってください:

。 [Excelのオプション]ダイアログボックスを表示します。 (Excel 2007では、[Office]ボタンをクリックし、[Excelオプション]をクリックします。Excel2010以降のバージョンでは、リボンの[ファイル]タブを表示し、[オプション]をクリックします。)

。ダイアログボックスの左側にある[詳細]をクリックします。 (図1を参照)

。 [小数点を自動的に挿入する]チェックボックスをオンにして、設定の値を-3に変更します。

。 [OK]をクリックします。

これで、セルに情報を入力するたびに、入力内容に小数点が含まれていない限り、Excelは値に1,000を自動的に乗算します。これは、値3を入力すると、Excelが実際にセルに3,000を入力することを意味します。代わりに1.23と入力すると、Excelは1.23と入力します。 1,000倍にはなりません。

このアプローチを選択する場合、影響を受けるのは現在のワークシートのデータ入力だけではないことに注意してください。この設定は、この時点以降、すべてのワークシートのすべてのデータ入力に影響します。これが希望どおりでない場合は、通常のデータ入力に戻るときに、設定をオフにする(チェックボックスをオフにする)ことを忘れないでください。

また、問題に対してマクロアプローチを使用することもできます。たとえば、ワークシートに数値データのみを入力する場合、セルが変更されるたびにセルの内容に1,000を掛けるマクロを作成できます。ワークシートタブを右クリックし、表示されるコンテキストメニューから[コードの表示]を選択します。次に、次のマクロをコードウィンドウに入力します。

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False     Target = Target * 1000     Application.EnableEvents = True End Sub

おそらく最善の解決策は、物事を単純に保つことです。必要に応じて値を入力する列があります。次に、別の列で、数式を使用して、入力した値を変更します。たとえば、セルA1に1.23と入力できます。セルB1では、この値に1,000を掛けることができます。セルB1の値は、ワークブックの他の場所にある他の数式内で使用できます。

注:

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

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

このヒント(9697)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。