プロが教える店舗&オフィスのセキュリティ対策術

Excel2007です。
最大10桁の数値をセル毎に分割したい。
その際、1の位を一番右にして、右詰めで表示したい。
関数でする方法は、ありますか?

左詰めなら =MID($A1,COLUMN(A1),1)でできることは
調べてあります

A 回答 (5件)

■右詰めが入力位置のことなら


10桁未満の時に前方空白表示なら(123456789→_,1,2,3,4,5,6,7,8,9)
=TRIM(MID(TEXT($A1,"??????????"),COLUMN(A1),1))

10桁未満の時に前方0表示なら(123456789→0,1,2,3,4,5,6,7,8,9)
=MID(TEXT($A1,"0000000000"),COLUMN(A1),1)
    • good
    • 4
この回答へのお礼

早速の回答ありがとうございます。
前方の空白非表示です。
前段の回答でうまく表示されました。
今後ともよろしく

お礼日時:2011/12/10 19:44

添付図参照



セル C1 に次の[条件付き書式]を設定
  数式が    =SUM($C1:C1)=0
  フォント色  白

セル C1 に次式を入力
  =VALUE(MID(RIGHT(REPT("0",10)&$A1,10),COLUMN(A1),1))
セル C1 を右方へ(セル L1 まで)ズズーッとドラッグ&ペースト
範囲 C1:L1 を下方へズズーッとドラッグ&ペースト
「Excelで数値を右詰めでセルに一つずつ」の回答画像5
    • good
    • 2

No2です。

質問を勘違いしていました。
>左詰めなら =MID($A1,COLUMN(A1),1)でできることは
表示を セルの右詰めで表示したいだけですか?
表示を右詰めにするとか

結果を数値にするとかでは
=MID($A1,COLUMN(A1),1)*1
エラー処理を入れて
=IF(LEN($A1)<COLUMN(A1),"",MID($A1,COLUMN(A1),1)*1)
の事だったでしょうか。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

お礼日時:2011/12/10 19:47

こんばんは!


色々考え方はあるかと思いますが・・・

一例です。
ごくごく単純にやってみました。
データはA列の1行目からあるとします。

B1セルに
=IF(LEN($A1)>=11-COLUMN(A1),LEFT(RIGHT($A1,11-COLUMN(A1)),1),"")
として列方向・行方向にオートフィルではどうでしょうか?m(_ _)m
    • good
    • 3
この回答へのお礼

回答ありがとうございます。
望み通りできました。
今後ともよろしく

お礼日時:2011/12/10 20:09

10文字固定ということであれば


=MID($A1,11-COLUMN(A1),1)
桁数が変化するのであれば
=MID($A1,LEN($A1)-COLUMN(A1)+1,1)
エラー処理を考えると
=IF(ISERROR(MID($A6,LEN($A6)-COLUMN(A1)+1,1)),"",MID($A6,LEN($A6)-COLUMN(A1)+1,1))
或いは
=IF(LEN($A1)>COLUMN(A1),MID($A1,LEN($A1)-COLUMN(A1)+1,1),"")
では如何でしょうか。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A