• ベストアンサー

エクセル 桁 分割

マニアックな相談内容かもしれませんが、 「123」と一つのセルに入力された数値を、 「1」「2」「3」と桁ごとに3つのセルに分割する方法はないものでしょうか? そんな関数はやはりないですかね。関数意外にもどんな方法でも構いませんので、皆様のお知恵を貸してください。宜しくお願いします。

noname#72340
noname#72340

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

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

できます。 A列に数字(値)が有るとして B2に =IF(COLUMN()<=2+10-LEN($A1),"",MID($A1,COLUMN()-(2+10-LEN($A1)),1)) と入れてL1まで式を複写。 B1:L1の式を下方向に複写。 L列に右詰めで配置します。 例えば手形や小切手・領収書など、チェックライターで金額数字を印字するイメージです。

noname#72340
質問者

お礼

こんなに早くご回答いただけるとは思いませんでした。有難うございます!一発で出来ました!本当に助かりました。

その他の回答 (5)

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.5

◆入力桁数がいろいろあって、1の桁を揃えて表示したいなら     A    B  C  D  E  F 1   1234       1  2  3  4 2    56            5  6 3  78901  7  8  9  0  1 B1=LEFT(RIGHT(" "&$A1,5-COLUMN(A1)+1)) ★右と下にコピー

noname#72340
質問者

お礼

ご回答有難うございます。 早速試しました。こんな方法があるとは知りませんでした。大変勉強になりました。有難うございました。

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.4

A1に123と入ってるとして、どこのセルでもいいので =MID($A$1,COLUMN(A1),1) と入れて右にコピーすると分割できます。桁数が増えても大丈夫です。 それぞれのセルを数値として扱いたいなら、 =MID($A$1,COLUMN(A1),1)*1 =--MID($A$1,COLUMN(A1),1) =VALUE(MID($A$1,COLUMN(A1),1)) などなど。 なお、最初の$A$1と次のA1は意味合いが違うので、$A$1は実際にデータが入っているセル番地に置きかえて、COLUMN()の中のA1はそのままにしてください。

noname#72340
質問者

お礼

ご回答有難うございます。 本当にいろいろなやり方があるのですね。 驚きました。早速使わせていただきます。 本当に有難うございました。

回答No.3

関数で行う場合、 文字列として分割する場合 =LEFT(A1,1) 左から1文字抜き出す =MID(A1,2,1) 2文字目から1文字抜き出す =RIGHT(A1,1) 右から1文字抜き出す 数値としたい場合は、最後に *1とつけるか、関数をVALUE()で囲んで下さい。 例) =VALUE(LEFT(A1,1)) 関数以外の方法では 123が入力された列を全選択した状態で、データ→区切り位置を 開きます。 スペースによって右または左に揃えられた固定フィールドのデータ を選択して、次へ データのプレビューの所で、1と2の間 2と3の間をクリックします。 クリックで文字間に縦線が引かれたら、完了で終了します。 ただしこの方法では、A列に123が入っている時、A→1 B→2 C→3 と入力される形になりますので、B列C列が空列である必要があります。 そして、元のデータは(分割されるので)消えてしまいます。

noname#72340
質問者

お礼

ご回答有難うございます。 迅速かつ、丁寧なご説明有難うございます。 早速参考にさせて頂きます。 絶対に出来ないと思っていたので、本当に嬉しいです。

  • kakkysan
  • ベストアンサー率37% (190/511)
回答No.2

いろんな方法がありますが今回は A列にデータがあるとして B列に=left(A1,1) C列に=mid(A1,2,1) D列に=right(A1,1)

noname#72340
質問者

お礼

迅速なご回答有難うございます。 こんなに簡単に出来る方法があるんですね。本当に助かります。有難うございました。これでエクセルの腕が一つあがりました。 本当に助かりました。有難うございました。

noname#72340
質問者

補足

迅速なご回答有難うございます。 こんなに簡単に出来る方法があるんですね。本当に助かります。有難うございました。これでエクセルの腕が一つあがりました。 本当に助かりました。有難うございました。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

A1=123 とすれば B1=left(A1,1) C1=mid(A1,2,1) D1=right(A1,1) で、どうでしょう

noname#72340
質問者

お礼

迅速なご回答に感謝いたします。 大変シンプルな方法で、こんな方法があるとはまったく知りませんでした。絶対出来ないものと半分あきらめかけていましたので、本当にうれしく思います。有難うございました。

関連するQ&A

  • 数値を桁ごとに分割したい

    数値を伝票のマス目のように、1桁ずつ分割して表示したいのですが、どのように関数を組み合わせたら、よろしいか教えてください。(特に分割する桁数が一定でない場合)

  • エクセル下三桁の検索方法教えて下さい

    初めて質問させていただきます。 Sheet1 A1 に検索したい数字(3桁)入力します Sheet2 の B1 - B123 までに検索したい対象の数字(アルファベット含、10桁以上)の数値があります。 A1に数値を入力し 他のセルにB1-B123の下三桁と一致するセルを出したいのですが、 たどり着けませんでした。 分かる方、教えて下さい。 できればVBではなく、関数の方法お願いします。

  • 数値を分割したい

    関数初心者です。 セルにさまざまな桁数の数値が入っています。 これを一字ずつ分割して別のセルに入れたいと考えています。 A1に1000が入っていたら、F1に1、G1~I1に0を A2に25369だったら、E2に2、F2に5、G2に3、H2に6、I2に9 というように、 B~Iの各セルに、後ろ詰め(という表現が適切かどうかわかりませんが)に入れたいのです。 A列に入っている数値は上限8桁ですが、3桁のこともあれば、8桁のこともある、と バラバラです。 よい方法がありましたら、ぜひお教えください。 お願いします。

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

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

  • エクセル2007で帳簿を作っているのですが

     エクセル2007を使って帳簿を作っているのですが、ひとつのセルに入っている八桁の数値例)12345678 を8つのセルに分けるためにMID関数を使って分けてみたのですが、8桁の数値なら そのまま振り分けがうまく各位に当てはまるのですが、桁がさがると左のほうずれてしまいます。帳簿なので右詰めで数値を入れたいのですがどうすればいいかわかりません。なにかいい方法はありませんでしょうか、知恵をお貸しくださいお願いします。

  • エクセルで12桁の数値に4桁ごとに―を入れたい

    エクセルで既に入力されている12桁の 数値列に4桁ごとにハイフンを入れたいです。 1234567890AB → 1234-5678-90AB のような感じです。   セルの書式設定でユーザー定義を使い 変換できるのではと察しているのですが、 「種類」のところにどのように指定すれば いいかわかりません。 書式設定、またはほかの方法でハイフンを 入れる方法を教えていただけますか。

  • エクセルの文字操作について

    こんにちは。過去の質問で同じようなのが見つからなかったので、新たに質問します。 関数でMIDというのがありますよね。あれの逆バージョンというか、末尾から桁を選んで別のセルに飛ばすような関数はあるのでしょうか? 具体的には、1つのセルに入った12345という5桁の数値を(金額)を 5は  1の位 4は 10の位 3は100の位・・・ というかんじで1桁ずつ1個のセルに入れていきたいのです。(金額の左詰入力をしたいのです)。 こんなことは可能でしょうか?ご存知の方、お知恵をお貸しくださいませ。

  • Excel - 5桁の数値を6桁にする方法

    5桁の数値の間に新しい数を入れて、6桁にする方法はありますでしょうか。 「12345」 → "4"と"5"の間に"0"を入れる → 「123405」 数百のセルに反映させたいと考えております。 よろしくお願いします。

  • EXCELで 一桁の数値を二桁に

    教えてください。 エクセルで、入っているデータを編集しているのですが A列には、一桁の数値が B列には、1桁から2桁の数値が C列には、1桁から2桁の数値が D列には、文字データが入っています。 D列のデータに対する対応表を作るために このA~C列のデータを CONCATENATE関数を使って合体させたいのですが、 (合体させると、数値がダブらない為) B列とC列に入っている1桁の数値を 2桁に変換したいのですが、 何かよい方法はありませんでしょうか? 手打ちで変換するには、かなり多いデータなのです。 どなたか、助けてください。

  • excelで、2つのセルの中身を統合・1つのセルの中身を分割

    excelにて、上記のようなことを行いたいのですが、今までは 2つのセルの中身を統合・・・A1にA2,A3の文字を表示[A1に"=A2&A3"と入力] 1つのセルの中身を分割・・・A1に入力した10桁の数字を前3桁、後ろ7桁に分割し、それぞれA2、A3に表示[A2に"=MID(A1,1,3)",A3に"=MID(A1,4,10)"と入力] としておりました。 今後、このデータをaccessでも使用したいので、セル内に関数ではなく、文字が残るような方法があれば教えていただきたいのです。 また、出来るだけマクロを使わない方法で教えていただけますでしょうか。 もしマクロでないと出来ない場合は、どのようなマクロを組めばよいか、ご指導お願い致します。

専門家に質問してみよう