- 締切済み
数値を一つずつ別々のセルに分けるには?
最大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 ↑ ↑ 入力位置 表示位置
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
No.3 です。次式でもいいです。 B1 =iferror(0+mid($A1,columns($B1:b1)-(6-len($A1)),1),)
- bunjii
- ベストアンサー率43% (3589/8249)
提示の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セルまでコピーし、更に下へ必要数をコピーします。
- gyouda1114
- ベストアンサー率37% (499/1320)
- keithin
- ベストアンサー率66% (5278/7941)
A1に記入して、 B1に =IF($A1="","",MID(TEXT($A1,"000000"),COLUMN(A1),1)+0) 右にコピー下にコピー ぐらいが一番簡単です。
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
- mshr1962
- ベストアンサー率39% (7417/18945)
B1に =IF(COUNT($A1),MID(TEXT($A1,"000000"),COLUMN()-1,1),"") でB1の関数をG列までコピー
関数を使うのなら 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)) でいけると思います。
お礼
ありがとうございました。 関数の考え方まで,お示しいただき感謝いたします。