• 締切済み

LEFT,RIGHT,MIDなどの

esupuressoの回答

回答No.1

バージョンがExcel2010との事ですので、数式のエラー回避策として「IFERROR」で対処できます 添付画像を基に、取り敢えず5ケタ表示の場合の式は B2のセルに =IFERROR(MID($A2,LEN($A2)+COLUMN()-6,1),"")の式を入れ、右側F2セルまで数式をコピーし、そのまま下まで(ここではF5セルまで)数式をコピーします 「MID」関数で、開始位置は「LEN($A2)+COLUMN()-6」の式を入れてますが、LEN関数でA2セルの文字数を数えて「COLUMN()」関数でアクティブセルの列番号を返し、更に「-6」として左から1桁目を開始位置とします 現在のアクティブセルの位置がB2とすると「LEN($A2)+COLUMN()-6」の意味は「5+2-6=1」となり返り値が「1」となります アクティブセル位置がC2の場合は、「5+3-6=2」となり左から2桁目を返していきます 以上の式を「IFERROR」関数でエラーが出た場合は空白で返し、そうでない場合はそのまま数値を返していきます Exce2003の場合ですと・・・ セルB2 =IF(ISERROR(MID($A2,LEN($A2)+COLUMN()-6,1)),"",MID($A2,LEN($A2)+COLUMN()-6,1)) という式になります 

関連するQ&A

  • エクセルで桁数の分からない数値を右から1数値ずつ抜き出したい

    エクセルで教えて下さい!! 桁数の分からない数値があります。 12345を他のセルに1数値づつ抜き出したい。 桁数が分かっていれば簡単なのですが… 桁数が分からない為その12345が入っていたセルには123456と6桁入る場合もあります。 RIGHTなら右から2文字とか3文字とか抜き出しますが…1つのセルに1つの数字を抜き出したいのです。 RIGHTなら1番右1文字は抜き出せても12345が入っている場合、2番目の4の数値を1文字だけ抜き出す事って不可能ですよね。(45を1つのセルに抜き出す事になります) 説明下手で申し訳ないですが(~_~;)分かれば教えて下さい宜しくお願いします!!ヽ(^o^)丿

  • MID関数について

    一桁から八桁までの任意の数字を1セルごとに分けたいのですが、MID関数では左から取り出すため桁数が変化すると使えません。 一桁目にMID(A1,1,1)から八桁目にMID(A1、8,1)を入れると1234が4321と逆になってしまいます。 12でも12345678と桁が違っても1セルごとにわけることはできないでしょうか

  • mid関数/find関数:一つのセルに同一の値がある場合

    mid関数、find関数について教えてください。 1つのセルに同一の値が入っていて、2個目の値から、何文字もしくは2個目の値を探したい場合どのようにしたら良いのでしょうか。 例)1つのセルに、1-A0001-A0002 と値が入っていて、"A0002"だけを別のセルに表記させたい場合、開始位置を9文字目と指定し、解を求めることができますが、2つ目の"A"から5桁というような指定の方法ができるのでしょうか。 RIGHT関数という方法もありますが、セルによっては、1-A0001-A0002○○○というように別の文字が続いているため、上記のような設定で解を求めたいと考えます。 アドバイスを宜しくお願いいたします。

  • エクセルで、MID関数で抽出した文字を独立させたい

    エクセル初心者のため、お見苦しい文章で申し訳ありません。 WORDに入力されたアンケート結果をEXCELに移した際に、 例えば1つのセルにある「A:50% B:25% C:25%」という文字列を、 MID関数を使ってそれぞれ別のセルに抽出しました。 (それぞれ、"=MID(A2,3,3)"、"=MID(A2,10,3)"、 "=MID(A2,17,3)"という感じです) 設問がいくつもあるので、 その関数を十字でコピーしたほうが楽かと思いまして・・・ ところがそもそもグラフを作りたくてエクセルに移したのですが、 「50%」というのはただの関数の結果であって、 数字どおりのグラフが作れないと気づきました。 これを、「50%」という文字列だと 認識させてグラフを作る方法は何かあるでしょうか? それともやっぱりめんどくさがらずに、 1から打ち込んだほうが早いのでしょうか・・。 わかりづらい質問で申し訳ありません。 よろしくお願いいたします。

  • MID関数で・・

    エクセルのA1のセルに入力されている文字列の、 頭から3文字目までは表示しないで、4文字目以降を すべて表示したいと思います。 セル内の全文字数は、セルごとに違うのですが、 その場合は、下記の○の部分の設定はどうすれば よいのでしょうか? 適当に、1000など大きな数字を入れておく他、 ないのでしょうか? =MID(A1,4,○) 何か、他の方法があれば、ぜひ教えて下さい。

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

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

  • エクセル文字列の関数について

    エクセルで、例えば、¥15,214みたいな一つのセルに入っている数字があるとします。その数字を一つ一つのセルに A1 1 A2 5 A3 2 A4 1 A5 4 と5桁の分ける場合、どうすればよいのでしょう? MID、RIGHT関数、と試してみましたが、どうも桁がずれたり、分かりません。 ちなみに数字の桁は変更がありますので、5桁の場合もあるし、3桁の場合もあります。あと、¥マークも付けたいと思っています。教えてください。

  • エクセルのセルに入れた文字あるいは数字を別なセルに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が埋まるようにですが、出来ますでしょうか?? よろしくご教授お願いします。

  • Excel:MID関数で

    セルAAに「224020」という数値があります。 S8、T8、U8、V8、W8、X8の各セルのうち、S8に「2」、T8に「2」、U8に「4」、V8に「0」、W8に「2」、X8に「0」を表示させたい場合、S8~X8に、 MID(AA8,1,1) ~ MID(AA8,6,1) という数式を使えば出来る、ということはこちらでの質問の御教示で理解できました。 もし、セルAAに「4020」という数値があった場合、S8、T8各セルを空白もしくは「0」と表示させて、U8から「4」「0」「2」「0」と表示させることは出来ないでしょうか? AAセルも数式が入っているため、手入力で「004020」とさせることが出来ません。 よろしくお願い致します。

  • MID関数で、「0」を一文字目として認識させたい

    Excel2002で、住所録から封筒を印刷するファイルを作りました。 住所録シートの7桁の郵便番号セルから一文字ずつ取出して 印刷シートの各セルに収めるよう下記の関数を入れています。 =MID(VALUE(VLOOKUP("●",住所録データ範囲,5,TRUE)),1,1) 通常は問題無いのですが、「0」から始まる郵便番号の時は MID関数が「0」を1文字目と認識してくれず、2文字目が 1番先頭のセルに入ってしまいます。 (住所録シートに入っている郵便番号は「'」で文字列認識させています) 何か良い解決方法はありますでしょうか? 宜しくお願い致します。