• 締切済み

数値を一つずつ別々のセルに分けるには?

最大6桁の数値Aを、一つずつに分けて別々のセルB~Gに分けたい。 さらに右詰めにして桁数が少ない場合は0を埋めたい。 どうぞご指導よろしくお願いします。 サンプル例   A B C D E F G 123,450 1 2 3 4 5 0 12,345 0 1 2 3 4 5 987,654 9 8 7 6 5 4 100,000 1 0 0 0 0 0 52 0 0 0 0 5 2 2 0 0 0 0 0 2 ↑ ↑ 入力位置 表示位置

みんなの回答

回答No.8

No.3 です。次式でもいいです。 B1 =iferror(0+mid($A1,columns($B1:b1)-(6-len($A1)),1),)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.7

提示のA列データは文字列でしょうか? また、B~G列の例示が数字2桁もあり質問の文言と食い違っています。 質問の文言に基づいて数式を考えると次のようになります。 B1=IF(A1="","",VALUE(MID(RIGHT(REPT("0",6)&SUBSTITUTE($A1,",",""),6),COLUMN(A1),1))) A列が空欄のときはB~G列は空欄としています。 A列の値からカンマを除き先頭に0を6桁加えた文字列から右の6桁を切り出して先頭から順にB1セル、C1セル~G1セルのように1桁ずつ切り出します。 B1セルをオートフィルでG1セルまでコピーし、更に下へ必要数をコピーします。

OKWaveID2
質問者

お礼

ありがとうございました。 関数の考え方まで,お示しいただき感謝いたします。

noname#204879
noname#204879
回答No.6

B1: =MID(TEXT($A1,REPT(0,6)),COLUMN(A1),1)

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.5

一例です。 画像で B1に  =IF(LEN($A1)>=7-COLUMN(A1),LEFT(RIGHT($A1,7-COLUMN(A1)),1),"0") 右方下方にオートフィル

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

A1に記入して、 B1に =IF($A1="","",MID(TEXT($A1,"000000"),COLUMN(A1),1)+0) 右にコピー下にコピー ぐらいが一番簡単です。

回答No.3

B1 =mod(int($A1/10^(6-columns($B1:b1))),10)   あるいは   =int(mod($A1,10^(7-columns($B1:b1)))/10^(6-columns($B1:b1)))   あるいは   =0+mid(text($A27,"000000"),columns($B27:b27),1)   あるいは   =0+left(right(rept(0,6)&$A1,7-columns($B1:b1))) B1 セルをコピーして B1:G1 のセル範囲に貼り付け

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

B1に =IF(COUNT($A1),MID(TEXT($A1,"000000"),COLUMN()-1,1),"") でB1の関数をG列までコピー

noname#191575
noname#191575
回答No.1

関数を使うのなら B1→IF(LEN(A1)<6,"0",MID(RIGHT(A1,6),1,1)) C1→IF(LEN(A1)<5,"0",MID(RIGHT(A1,5),1,1)) ・ ・ ・ F1→=IF(LEN(A1)<2,"0",MID(RIGHT(A1,2),1,1)) G1→=IF(LEN(A1)<1,"0",MID(RIGHT(A1,1),1,1)) でいけると思います。

関連するQ&A

専門家に質問してみよう