複数桁の数字を1セルずつ表示する方法

このQ&Aのポイント
  • エクセル2010を使用して、複数桁の数字を1セルずつ表示させる方法を教えてください。
  • 桁数の異なる数字に置き換える場合、右に詰める方法も教えてください。
  • さらに、数字の左側に円マークを表示する方法も知りたいです。
回答を見る
  • ベストアンサー

複数桁の数字を1セルずつ表示したい

エクセル2010を使っています。 1つのセルに入っている複数桁の数字を、1セルずつ分けて表示させたいと思っています。 しかも、数字を置き換えて桁数が減った場合には、右に詰めたいです。 (例) AIに12345 と入力したら、B1に1、B2に2、B3に3、B4に4、B5に5と表示させたい。 A1の数字を123に置き換えたら、B1、B2は空欄、B3に1、B4に2、B5に3と置き換わるようにしたい。 ただ単に数字を1セルずつ分けるだけでしたら、mid関数を使ってできるのですが、 桁数の異なる数字に置き換えると右に詰めるようにするにはどうしたらよいでしょうか。 更に、数字の左側に円マークも表示させたいです。 よろしくお願いします。

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

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

>B1に1、B2に2、B3に3、B4に4、B5に5と表示させたい。  それでは数字が縦並びになっている事になりますが、それを >右に詰めたいです。 とは一体どういう意味なのでしょうか?  しかも、 >更に、数字の左側に円マークも表示させたいです。 となりますと、1,2,3,4,5の5個の数字に加えて円マークまで表示するのですから、合わせて6個のセルが必要になりますから、B5に1の位を表示させたのでは、セルの個数が足りないため、\12345を表示する事は出来ません。  ですから、 >B1に1、B2に2、B3に3、B4に4、B5に5と表示させたい。 というのは間違いであるものと考えて、B1~G1に1桁ずつ、円マーク付きで表示する方法を回答させて頂きます。  まず、G1セルに次の関数を入力して下さい。 =IF(COLUMNS(G:$G)>LEN(TEXT($A1,"¥0;¥-0")),"",LEFT(RIGHT(TEXT($A1,"¥0;¥-0"),COLUMNS(G:$G)),1))  そして、G1セルをコピーして、B1~F1のセル範囲に貼り付けて下さい。  以上です。

kappapaka
質問者

お礼

ご回答ありがとうざいました。 右に詰めるの意味が分かりづらくて申し訳ございません。 添付してくださった図の通りで間違いございません。 試してみたところ、できました。 ありがとうございました。

その他の回答 (6)

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

 回答No.1です。  別のやり方として、数字の部分は、文字列データではなく、数値データとなる様にする方法です。  まず、G1セルに次の関数を入力して下さい。 =IF(AND(ISNUMBER($A1),COLUMNS(G:$G)<=LEN(ROUND($A1,0))+1),IF(COLUMNS(G:$G)>LEN(ROUND(ABS($A1),0)),IF(AND($A1<0,COLUMNS(G:$G)=LEN(ROUND($A1,0))),"-","\"),INT(MOD(ROUND(ABS($A1),0),10^COLUMNS(G:$G))/10^(COLUMNS(G:$G)-1))),"")  そして、G1セルをコピーして、B1~F1のセル範囲に貼り付けて下さい。  以上です。

kappapaka
質問者

お礼

ありがとうございました。

回答No.6

添付図では、次式を記入しています。記入後、右方向にドラッグ。 B1 =iferror(0+mid($A1,len($A1)-5+columns($B1:b1),1),"") 「円マーク」については、どこにどうしたいのか分からないので、補足してください。

kappapaka
質問者

お礼

ご回答ありがとうございました。 ほかの方からも円マークをどうすればよいか分からないと指摘がございました。 添付の表では、C1に入れるか、D1の数字の脇に表示できればどちらでもOKです。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.3です! たびたびごめんなさい。 前回の投稿で後者の数式が間違っていました。 =IF(LEN(A$1)<6-ROW(A1),"",MID(TEXT(A$1,"00000"),ROW(A1),1)*1) に変更してください。 どうも失礼しました。m(_ _)m

kappapaka
質問者

お礼

ありがとうございました。

noname#204879
noname#204879
回答No.4

添付図参照 B1: =MID(RIGHT(REPT(" ",4)&$A1,5),COLUMN(A1),1) 》 数字の左側に円マークも表示させたい 添付図の場合、セル B1、D2、E3、F1 は ¥1 と表示させたいということですか? それとも、B列以右の各数値の左側に¥を表示させたいと?

kappapaka
質問者

お礼

ご回答ありがとうございました。 円マークは、セル B1、D2、E3、F1の数字の脇でも、B列以右の各数値の左側でも、どちらでもOKです。 質問の意味が分かりづらくて申し訳ございませんでした。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! >更に、数字の左側に円マークも表示させたいです どうしても「¥」マークを表示させたいというのであれば 無理やりやってみました。 A1セルに入るのは最大で5桁という前提です。 B1セル(文字列は「右揃え」にしておきます)に =IF(LEN(A$1)<6-ROW(A1),"","\"&MID(TEXT(A$1,"00000"),ROW(A1),1)) という数式を入れB5セルまでオートフィルでコピー! 上記数式は文字列になってしまいますので、 B1~B5セルの表示形式を「通貨」にしておけば =IF(LEN(A$1)<6-ROW(A3),"",MID(TEXT(A$1,"00000"),ROW(A3),1)*1) という数式で対応できると思います。m(_ _)m

kappapaka
質問者

お礼

ご回答ありがとうございました。 何だか、いろいろなやり方があるのですね。 試してみたいと思います。

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

>A1の数字を123に置き換えたら、B1、B2は空欄、B3に1、B4に2、B5に3と置き換わるようにしたい。 桁数が最大5桁として下記の式を使うと希望通りになります。 =IF(MID(TEXT(A$1,"00000"),ROW(),1)="0","",MID(TEXT(A$1,"00000"),ROW(),1)*1) >更に、数字の左側に円マークも表示させたいです。 1桁ずつに文字列として切り出した数字に1を掛けると数値に置き換わりますので、右寄せは指定する必要がありません。 先頭の\マークはセルの表示形式で「通貨(\マーク付き)」とすれば良いでしょう。 桁数が4桁以下の時の空欄はA1の値を切り出したときに"0"のとき""(文字なし)としました。

kappapaka
質問者

お礼

ご回答ありがとうございました。 一応エクセルは講座で習ったことがあったのですが、 複数の関数を組み合わせて使いこなすことがまだまだ難しいです。 本当にありがとうございました。

関連するQ&A

  • 同一セル内の3桁の数字を任意の数字に変換し表示

    excelの関数を教えて下さい。 同一セル内の3桁の数字(1から8までの数字を使用した3桁;例えば124)を、別のセル内に、関数(12345678をそれぞれ24587613へ変換する関数)で変換された3桁(例えば248)で表示したいのですが、その際に使用する関数を教えてください。エクセル上に表示する数字は1から8までのうちの3桁で、12345678をそれぞれ24587613へ変換したいです。 各セルに1数字の場合はVLOOKUP関数を使用し変換できたのですが、同一セル内に複数数字がある場合の考え方がわかりません。 よろしくお願いします。

  • エクセルのセルに入れた文字あるいは数字を別なセルに1文字づつ、「右詰」で移したい

    以前に エクセルのセルに入れた文字あるいは数字を別なセルに1文字づつ移したい、ということで質問しまして、「MID関数を利用する」事で、先頭文字から一文字ずつ別々なセルに移すことが出来ましたが、スミマセンが次のような場合はどのような関数になるのでしょうか? 例えば「番地などの表示」等で1桁の場合もあれば、5桁あるいは6桁等々の場合もあるとします。これを別なセルに下一桁を合せる様にしたいのです。 例としまして セルA1に1桁~6桁の数字(例:345678)を入力した場合、これを右側のB1には3を、同様にC1には4を、D1=5、E1=6、F1=7、G1=8を関数で入力できるようにしたい。 問題は、桁数が毎回違う場合にG1に下一桁が来るようにしたいのですがRIGHT関数では下一桁だけ応答されるのは上手くいくのですが、下二桁、三桁以上の場合には上手くいきません。 つまり「A1に789」の数字を入力したら、G1=9が、F1=8が、E1=7が応答されるようにしたいのです。 勿論、5桁の場合にはB1が空欄で、C1、D1、E1、F1、G1が埋まる様に、4桁であればB1とC1が空欄で、D1~G1が埋まるように、三桁の場合にはB1~D1が空欄でE1~G1が埋まるようにですが、出来ますでしょうか?? よろしくご教授お願いします。

  • 数値を桁区切りのセルに分割表示したいのです。

    http://oshiete1.goo.ne.jp/kotaeru.php3?q=1420285 上記をみて自分でも考えてみたのですが、ちょっとうまくいきませんでした。 セルA2に入った 123,456,789 という数字を セル C2からK2に1桁ずつ表示させたいのですが、 セルA2は数値が変わるので桁が足りない場合、 例;セルA2が2,209,992 の場合    C2 0→桁なし空欄    D2 0→桁なし空欄 ※できればここに¥マーク    E2 2 2    F2 2 2    G2 0 0    H2 9 9    I2 9 9    J2 9 9    K2 2 2 と表示させたいのです。 桁数はC2~K2までの9桁までで、9桁フルにはいる場合は、B2に¥マークが入るようになるとベストです。 分かりづらい説明で申し訳ないのですが、どなたかいい方法がありましたら教えてください。よろしくお願いします!ifのネストになるのでしょうか・・・。     

  • エクセルで複数のセルにセルにある数字を1つのセルに

    こんばんは、エクセルに関してあまり詳しくないので教えて頂けませんか? A1のセルに1 B1のセルに3 C1のセルに5と、数字が1~8まで並んでいます。 その数字を、ほかの一つのセルに、135~と8桁表示するにはどうしたらよいでしょうか? その数字はrank関数で入力されたものです。 詳しい方よろしくお願いいたいます!

  • 数字の桁ごとに、各セルに抽出

    最大11桁の数字を各セルに抽出したい。 金額をF列に入力すると、 D列には下3桁が表示され、 C列には右から6桁~4桁、 B列には右から9桁~7桁、 A列には右から11桁~10桁と、 表示されるように、関数を組みたいです。

  • EXCEL 数字の切り出し方法

    こんばんは。 各行に数字が入力されています。 桁数は6桁、5桁、4桁とマチマチです。 この各数字の右から4つめから左方向の 数字を抜き出したいのですが、できますでしょうか? ちなみに、LEFT関数は左から右へmid関数は、 左から指定の桁数からの抜き出しのようです。 ぜひ、教えてください。 (例)25467・・・25を抜き出したい     7683・・・7 7476876・・・7476 というかんじです。

  • 複数のセルの文字を違うシートの一つのセルに表示するには

    複数のセル たとえばA1:B8にそれぞれ文字が入っているとします それを別のシートの C5にまとめて表示させたいのですが 何か方法がありますか? 複数のセルに入っているのは数字ではなく文字で それをそのまま まとめて表示させたいのです 関数でできるのかと調べてみたのですが エクセルは初心者なものでいまいちわからなくて・・・

  • 1つのセルの数字を複数のセルに1文字づつ表示したい

    こんばんは。 いつも勉強させていただいています。 下記について、ご教示いただければ幸いです。 K1セルには、最小で1桁から最大で9桁までの数値が入力されます。 それを A1からI1までに1つづつ表示させたいのです。 例1) K1 に 10105 と入力した場合 A1からD1まではブランク E1に1、F1に0、G1に1、H1に0、I1に5 例2) K1 に 101050235 と入力した場合 A1に1、B1に0、C1に1、D1に0、E1に5、F1に0、G1に2、H1に3、I1に5 なお、同じシートの他のセルには0を入力する場合があるため、「ゼロ値のセルにゼロを表示する」のチェックを外すことはできません。 私なりに考えたのは、K1セルの数値をL1に =TEXT(K1,"000000000")として文字にし、M1から右のセルに =MID($K$1,1,1) というように各桁を抜き出す方法だったのですが、10000 のように丸い数字をK1に入力すると 1 は表示できても 0 がブランクになってしまいます。 いい方法がありましたら、ぜひご教示下さい。 よろしくお願いいたします。

  • セル内にある長さの違う数字の分割

    A1=123 A2=456 A3=7890 という桁数の違う数字がセル内にある時、B行に千の位、C行に百の位、D行に十の位、E行に一の位⇒  B1=空白 C1=1 D1=2 E1=3 B2=空白 C2=4 D2=5 E2=6 B3=7 C3=8 D3=9 E3=0 と他のセルに表示させたいのですが…、関数MIDを使用すると桁数が違う為、うまくいきません。何か方法があれば教えて下さい。よろしくお願いします。

  • エクセルのセル内で最初の3桁だけを表示させたい

    197086071172 こんな桁数の数字がセルに入ってるんですが、 最初の3桁(もしくは6桁)しか必要ないんです。 どうしたらよいでしょうか。 何10行もあるので一度に変換(もしくは3桁表示)にできたらと思います。 知っている方いらしたらご教授いただければ幸いです。 何卒宜しくお願いいたします。

専門家に質問してみよう