web-dev-qa-db-ja.com

カスタム書式によるExcelテキストの配置

テキストの配置を定義するカスタム形式の数式に何かありますか?

数式のさまざまな部分が数値、負の数などであることはわかっていますが、配置を設定する必要があります。

例:

_*# ##0_;_*(# ##0)_;_*"-"??_;_@_
6
f01

カスタム形式を使用してセルの配置を明示的に設定することはできませんが、カスタム形式の繰り返し文字構文を使用して同じ効果を得ることができます。この構文は、単に*文字の後に、繰り返したい文字が続くものです。この場合は、おそらく空白文字です。

たとえば、単純なカンマ区切りの数値形式「#、## 0」は、形式文字列を「#、## 0 *」に変更することで、左揃えにすることができます。

さらに例を挙げれば、カスタムのフォーマット文字列 "#、## 0 * ;;; * @"を使用して、数値エントリを左揃えにし、テキストエントリを右揃えにすることができます。

10
chuff

カスタム書式設定文字列によるtext配置に関する質問に直接回答することはできません。ただし、6つの整列オプションのうち2つをエミュレートすることは可能です(left| center |right|上|中|下)カスタム書式設定を使用して非表示の文字を挿入します。

ここで別の回答で述べたように、テキストを右揃えするには、最初の3つのフィールドを空白のままにし、繰り返し文字構文*にスペースを続け、次にテキストを配置する場所に@を使用します。挿入されました。

;;;* @

これにより、セルに配置タイプ「中央」が適用されている場合でも、テキストが強制的に右揃えになります。

テキストを強制的に左揃えにする必要がある状況がいくつかあります。たとえば、表形式またはアウトライン形式で表示されるピボットテーブルでは、セルをラベルと自動的にマージして中央揃えにすることができます。マージするだけでなく、テキストを左揃えにする場合はどうでしょうか。カスタム書式ルールを使用して、ピボットテーブルによって適用された書式を後処理できます。

テキストを左揃えにするには、少し工夫が必要です。ピボットテーブルの状況では、Excelはフォーマットを適用する前にカスタムルールの末尾のスペースを(厄介に)トリミングするため、;;;@*[space]を使用するだけでは機能しません。ただし、代わりに非表示のUnicode文字の1つを使用することができ、Excelはカスタム形式を混乱させないままにします。

非表示のUnicode文字はU0160およびU255です。どちらでも機能します。 Windowsでは、長押し Alt たとえば、数値を入力します Alt+2+5+5。非表示の文字はリリース後に挿入されます Alt

垂直方向の配置オプションに関する限り、VBAスクリプトを実行するか、リボンの配置ボタンを使用する必要があります。たとえば、上部の配置を適用するためにカスタム形式を使用することはできません。


例:セルの配置が中央でも、左/右に配置する

Overriding center alignment in Excel table cells


例:マージされ、中央に配置されたピボットテーブルのラベル列を左揃えにする

Overriding center alignment in Pivot Table

1
AaronDanielson

数値形式コードのアスタリスクは、繰り返し文字修飾子を表します。これは文字と一緒に使用され、セル内の空白を埋める繰り返し数字を表示します。位置合わせをExcelのカスタム数値形式で設定できないと思われる場合は、「D __ MMMM * DDDD」のような日付形式を試して、日付の数値と名前と月の名前を左に揃え、曜日の名前を右に揃える必要があります。 2桁の日番号を右に揃えるなど、フォーマットを追加するために、さらに列が必要になる場合があります。

0
David

ではない正確に。私は@teylynに同意する必要がありますが、あなたが適応できるかもしれない何かを行うことができます。

enter image description here

0
datatoo