複雑なカスタム形式での負の数の処理(Microsoft Excel)
ダグラスは、彼が必要とするカスタムフォーマットに頭を悩ませているいくつかの問題を抱えています。彼は、$ 1,000,000が$ 1.0Mとして表示され、$ 1,000が$ 1.0Kとして表示されるように、希望どおりに多数を表示するカスタム形式を作成しました。この形式は次のとおりです。
[> 1000000] $#。0 ,, “M”; [> 1000] $#。0、 “K”; $#、## 0.0。ダグラスは、負の数が同じように表示されるようにカスタム形式を調整する方法を知りたいと考えていますが、($ 1.0K)のように括弧で囲まれた赤で表示されます。
残念ながら、あなたがやりたいことは、単一のカスタムフォーマットでは不可能です。その理由は、単一のカスタム形式には4つの条件しかなく、それぞれがセミコロンで区切られているためです。これはカスタムフォーマットの一般的な構文です:
positive; negative; zero; text
最初の形式は値が正の場合、2番目は負の場合、3番目は値が正確にゼロの場合、4番目は値がテキストの場合に使用されることに注意してください。これはカスタムフォーマットの一般的な構文ですが、実行している方法でフォーマットを少し「ファッジ」することができます。使用しているフォーマットを検討してください:
[>1000000]$#.0,,"M";[>1000]$#.0,"K";$#,##0.0
一般的な構文によれば、最初のセミコロンの前の形式が正の値に使用され、次の形式が負の値に使用され、3番目の形式がゼロ値に使用されることに注意してください。ただし、これはExcelがこのカスタム形式を変換する方法ではありません。これは、「1,000,000を超える場合はこれを実行し、1,000を超える場合はこれを実行します。それ以外の場合はこれを実行する」と解釈します。この形式には、正または負の意味合いはありません。実際、負の値はデフォルトの処理で処理されます。これは3番目の形式です。
あなたがしようとしているのは、2つの正の条件(1つは数百万と1つは数千)と2つの負の条件(ここでも数百万と数千)を定義することです。これは、どのように組み合わせようとしても、単一のカスタム形式で実行することはできません。代わりに、次のような2つのカスタム形式を使用する必要があります。
[>=1000000]$#.0,,"M ";[>=1000]$#.0,"K ";$#,##0.0 [Red][<=-1000000]($#.0,,"M");[Red][<=-1000]($#.0,"K");[Red]($#,##0.0)
最初の形式は、正の値の場合に使用されます。これは、ヒントの最初に提案された元の形式のバリエーションです。 2番目の形式は、負の値で使用されます。これらのカスタム形式は、セルの値に基づいて手動で適用する必要があります。
これは、必要なフォーマットを取得するために実行するのに多くの作業のように思えるかもしれません。フォーマットを適用するマクロを作成することは可能ですが、マクロは簡単な作業ではありません。セルの値を確認し、適切な形式を選択して形式を作成し、セルのカスタム形式に詰め込んでから、次のセルに移動する必要があります。
この場合、条件付き書式を使用できると考える人もいるかもしれません。ただし、条件付き書式では、セル内の数値の表示を変更することはできません。値(たとえば、1,000または100万を超える)を確認することはできますが、セル内の値に分割、丸め、および接尾辞を追加することはできません。また、負の値に括弧を追加するようなこともできません。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(10226)は、Microsoft Excel 97、2000、2002、および2003に適用されます。
Excel(Excel 2007以降)のリボンインターフェイスに関するこのヒントのバージョンは、次の場所にあります: