次の番号のリストがあるとします。
0.02
-0.25
-4.13
5.24
-11.36
40.61
-141.20
それらをセル内で左揃えにして小数点を揃えるように、それらを列に揃えるにはどうすればよいですか?
例えば、
| 0.02 |
| -0.25 |
| -4.13 |
| 5.24 |
| -11.36 |
| 40.61 |
|-141.20 |
私は「経理」カテゴリを使いたくなりましたが、括弧を追加することでこれが私の負の値を変えました。
Excel for Mac 2011を使用しています。
セルを左揃えした後、次の数値形式を試してください。
_-???0.0??;-???0.0??;
それを適用するには、セルを右クリックして「セルのフォーマット」を選択し、「数値」タブに移動し、「カスタム」フォーマットオプションに移動して、フォーマット文字列を「タイプ:」フィールドに貼り付けます。
使い方:
_-
は、「-」文字の幅に等しい空白を挿入します。?
数値が存在しない場合、数値と同じスペースを使用します。Excelの数値形式の詳細: 数値形式コード 。
この形式は、小数点の左側に最大4桁の数値に対してのみ機能することに注意してください。数字が大きくなる場合は、さらに疑問符を追加する必要があります。
私は提案します:
セルを右クリックして、「セルのフォーマット」を選択します
[番号]タブ:
Under Category select "Custom"
Under Type enter 0.0?;-0.0?
[配置]タブを選択します。
Set Horizontal to "Right (Indent)"
Set Indent to 1 (you can adjust later as desired)
[OK]をクリックして、フォーマットタブボックスを閉じます。
これにより、テキストは次のようになります。
-12.0
-1.25
2.23
123.78
Test
マイナス記号は常に最初の桁の隣にあり、2番目の10進数がゼロの場合は空白であり、Word Testは2番目の10進数と右揃えされていることに注意してください。
これがお役に立てば幸いです。
「Tab」を使用します。Alignmentの下には、Decimalと呼ばれる特別なタブがあります。これは、タブの位置に従って小数点を揃えます。
私が正しく理解している場合は、列を右揃え(10進数に揃える)し、可能な限り最大の数値が左側に「揃う」までインデントを増やすことができます。これにより、特別なフォーマットについて心配する必要がなくなります。
他の回答にコメントするべきかどうかはわかりませんでしたが、これは新しい考えの系統なので、新しいものを追加したいと思いました...
条件付きフォーマットについてはどうですか?少し初期設定が必要になりますが、2桁の数字、3桁の数字など、およびそれらの対応する数字に個別の数値形式を使用する機会が提供されます。このようにして、否定記号と数字の間の空白を避けます。さらに、必要な場所でフォーマットをコピーして使用することもできます。
現在のセルの値が0から9 [1桁の数字]の間であるかどうかをチェックする条件付き書式ルールは次のとおりです。
=(INDIRECT(ADDRESS(ROW(),COLUMN()))>0)*(INDIRECT(ADDRESS(ROW(),COLUMN()))<10)
条件付き書式では、=AND()
は思ったほどうまく機能しないので、2つのブール値を乗算すると同等の式が得られます (この投稿のおかげで、このヒントをありがとう)
ここに理解プロセスがありますが、最後に単一の数式があり、必要に応じてそれにジャンプできます。
最初に、セパレーターの位置を含む列を作成します(ポイント記号「。」です)。
あなたの数がA列にあると仮定します:
B1 = find("."; A1)
B2 = find("."; A2)
...
この列の最後に、たとえばB20とすると、ポイント位置の最大値を入力します。
B20 = max(B1:B19)
それでは、各数値に必要なスペースを計算してみましょう。これが最大ポイント位置と現在のポイント位置の違いです。
C1 = $B$20 - B1
C2 = $B$20 - B2
...
そして最後に、そのスペースを追加します。ここで重要なのは、「Lucida Console」のように等間隔のフォントを使用することです。
D1 = rept(" "; C1) & A1
D2 = rept(" "; C2) & A2
...
もちろん、すべてを1つの数式でまとめることもできますが、わかりやすく説明しようとしました。たとえば、固定された最大ポイント位置、たとえば10を取得して、次のように実行できます。
= rept(" "; 10 - find("."; A1)) & A1