• ベストアンサー

Excelで数値を右詰めでセルに一つずつ分割したい

Excel2007です。 最大10桁の数値をセル毎に分割したい。 その際、1の位を一番右にして、右詰めで表示したい。 関数でする方法は、ありますか? 左詰めなら =MID($A1,COLUMN(A1),1)でできることは 調べてあります

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

■右詰めが入力位置のことなら 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)

gyouda1114
質問者

お礼

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

その他の回答 (4)

noname#204879
noname#204879
回答No.5

添付図参照 セル C1 に次の[条件付き書式]を設定   数式が    =SUM($C1:C1)=0   フォント色  白 セル C1 に次式を入力   =VALUE(MID(RIGHT(REPT("0",10)&$A1,10),COLUMN(A1),1)) セル C1 を右方へ(セル L1 まで)ズズーッとドラッグ&ペースト 範囲 C1:L1 を下方へズズーッとドラッグ&ペースト

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.4

No2です。質問を勘違いしていました。 >左詰めなら =MID($A1,COLUMN(A1),1)でできることは 表示を セルの右詰めで表示したいだけですか? 表示を右詰めにするとか 結果を数値にするとかでは =MID($A1,COLUMN(A1),1)*1 エラー処理を入れて =IF(LEN($A1)<COLUMN(A1),"",MID($A1,COLUMN(A1),1)*1) の事だったでしょうか。

gyouda1114
質問者

お礼

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

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 色々考え方はあるかと思いますが・・・ 一例です。 ごくごく単純にやってみました。 データはA列の1行目からあるとします。 B1セルに =IF(LEN($A1)>=11-COLUMN(A1),LEFT(RIGHT($A1,11-COLUMN(A1)),1),"") として列方向・行方向にオートフィルではどうでしょうか?m(_ _)m

gyouda1114
質問者

お礼

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

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

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),"") では如何でしょうか。

関連するQ&A