• 締切済み

エクセルで…

質問お願いします! 例えば、A1に900と入力したとして、その数値をMID関数を使って分割したいです。 ただ、3つに分割するのではなく、00900という風に、5つに分けたいと思っています。(B1~B5) そんな事は可能でしょうか? 全くの素人なんで分かりません。詳しい方お願いします!

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

例データ A-F列 931 0 0 9 3 1 9421 0 9 4 2 1 63213 6 3 2 1 3 4521 0 4 5 2 1 34 0 0 0 3 4 1 0 0 0 0 1 732311 3 2 3 1 1 A列が基データ。B-F列が求めるもの。 5列のデータに分解する。 最後の例のように6桁以上の場合はその部分は捨てられる。 B1の式は =IF(COLUMN()-1+LEN($A1)-5<1,0,MID($A1,COLUMN()-1+LEN($A1)-5,1)*1) F1まで右方向に式を複写し、次にB1:F1を下方向に式複写。 0のセルを空白にする場合は0の所を””にする。 数字化しないなら*1を取り除く。 請求金額などを、各桁を1セルづつに出したいときなどに、使われるだろう。式を工夫すれば、先頭に¥マークも入れられる。 TEXT関数で5桁の文字列をまず作っておくほうが、考え方は(式は)簡単になるが、上記も1つの方法という事で。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 A1に入力される数が、必ず5桁以内の自然数である場合には、次の様な関数でも可能です。  まず、B1セルに次の関数を入力してから、B1セルをコピーして、B2~B5に貼り付けて下さい。 =IF(ISNUMBER($A$1),INT(MOD($A$1,10^(ROWS(1:$5)))/10^(ROWS(1:$5)-1)),"")

noname#204879
noname#204879
回答No.4

B1: =IF(ROW()<6-LEN(A$1),"",MID(TEXT(A$1,"00000"),ROW(),1))

  • ky072
  • ベストアンサー率60% (85/140)
回答No.3

補足の質問について。 空白文字を残したければ、 =MID(RIGHT(CONCATENATE(REPT(" ",5),$A$1),5),1,1) =MID(RIGHT(CONCATENATE(REPT(" ",5),$A$1),5),2,1) =MID(RIGHT(CONCATENATE(REPT(" ",5),$A$1),5),3,1) =MID(RIGHT(CONCATENATE(REPT(" ",5),$A$1),5),4,1) =MID(RIGHT(CONCATENATE(REPT(" ",5),$A$1),5),5,1) 完全な空欄にしたければ、 =TRIM(MID(RIGHT(CONCATENATE(REPT(" ",5),$A$1),5),1,1)) =TRIM(MID(RIGHT(CONCATENATE(REPT(" ",5),$A$1),5),2,1)) =TRIM(MID(RIGHT(CONCATENATE(REPT(" ",5),$A$1),5),3,1)) =TRIM(MID(RIGHT(CONCATENATE(REPT(" ",5),$A$1),5),4,1)) =TRIM(MID(RIGHT(CONCATENATE(REPT(" ",5),$A$1),5),5,1))

h2304
質問者

補足

またまたすいません!教えていただいた通り入力したんですが、左詰めになってしまいます。(900空白空白)右詰めにするにはどうしたらいいでしょうか?(空白空白900)質問ばかりすいません。

noname#204879
noname#204879
回答No.2

セル B1 に式 =MID(TEXT(A$1,"00000"),ROW(),1) を入力して、此れを下方にズズーッとドラッグ&ペースト

  • ky072
  • ベストアンサー率60% (85/140)
回答No.1

こんな感じでいかがでしょう? =MID(TEXT($A$1,"00000"),1,1) =MID(TEXT($A$1,"00000"),2,1) =MID(TEXT($A$1,"00000"),3,1) =MID(TEXT($A$1,"00000"),4,1) =MID(TEXT($A$1,"00000"),5,1)

h2304
質問者

お礼

できましたー!! ありがとうございますo(^o^)o

h2304
質問者

補足

ちなみに先ほどの質問は900を00900に、と質問させていただきましたが、前の0を空白にする事は可能でしょうか? B1とB2は空白、B3から900と表示されるような感じです。 よろしくお願いします!

関連するQ&A