• ベストアンサー

セルに入力されている数字列を 一文字ずつセルにふりわけたい

たびたびよろしくお願いします。 ひとつのセルに6~7桁の数字が入力されてます。 (数字と数字の間にはスペースはありません) A 7桁の場合はこの数字を一文字ずつ  別のセルひとつひとつに  振り分けたいのですが 可能でしょうか? 例 「9654321」→   「9」「6」「5」「4」「3」「2」「1」 B 6桁の場合は頭にゼロを入力して   同様に別のセルひとつひとつに   振り分けたいのですが 可能でしょうか? 例 「654321」→   「0」「6」「5」「4」「3」「2」「1」  

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

こんにちは。maruru01です。 別解です。 A1に数値があって、B1:H1に入れる場合、 B1に、 =MID(TEXT($A1,"0000000"),COLUMN(A1),1) と入力して、H1までコピーします。

ennkai
質問者

お礼

ありがとうございました 非常にシンプルで桁数の増減にも すぐに対応できる方法ですね! 助かりました^^

その他の回答 (2)

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

(1)7桁ばかりなら A1(A列)に数字があるとして B1に=MID($A1,COLUMN(B1)-1,1)をいれて、H1まで式を複写。B1:H1を範囲指定してH1で+ハンドルを出し、下へ引っ張る。 (2)7桁以下が混じっている場合 1列ワーク列(B列とする)に使って、B1に =REPLACE("0000000",8-LEN(A1),LEN(A1),A1) をいれて下方向に複写する。 その後B列に対し(1)を行う。 (2)は(1)の場合を含むので、始めから(2)でやる手もあるが、式が簡単なので(1)を特記します。

ennkai
質問者

お礼

ありがとうございました!^^ 桁数が一定の場合と 桁数がいろいろ混ざっている場合の 二通りの解法、非常に参考になりました。 いろいろさらに応用がききそうですね ガンバって研究したいとおもいます

回答No.1

A1に元の値があるとします。 1の位: =mod(A1, 10) 10の位: =mod(int(A1/10), 10) 100の位: =mod(int(A1/100), 10) 以下同様に百万の位までどうぞ。

ennkai
質問者

お礼

早速の回答感謝です。 余りを使うって発想がまず思い浮かばなかったです。 ばっちり解決いたしました ありがとうございます

関連するQ&A

専門家に質問してみよう