文字列の分割方法を教えてください

このQ&Aのポイント
  • エクセルの2007の添付した画像によると、セルB35には「既存顧客給与計算システムへの勤怠データ再入力チェック」と入力されています。セルB36では、「既存顧客」とだけ入力され、残りの文字はセルC36に記入されています。質問者は、最初の4文字を元のセルに残し、5文字目以降の文字を次の列に移動したいと考えています。質問者は、MID関数とCOLUMN関数の組み合わせについて詳しく教えてほしいということです。
  • MID関数は、文字列の中から指定した位置から指定した文字数だけ文字列を返す関数です。COLUMN関数は、指定したセルの列番号を返す関数です。質問者の要件を満たすには、MID関数とCOLUMN関数を組み合わせて使用する必要があります。
  • 具体的には、MID関数の第1引数には元のセルの範囲を指定し、第2引数には5を指定して、5文字目以降の文字列を取得します。次に、COLUMN関数を使用して、元のセルの列番号を取得します。これにより、移動先の列番号を特定することができます。最後に、取得した文字列を移動先の列に書き込むことで、要件を満たすことができます。
回答を見る
  • ベストアンサー

文字列の分割方法を教えてください

エクセルの2007の添付した画像をご覧いただきながら、 ご教示くだされば幸いです。 画像において B35セルは 「既存顧客給与計算システムへの勤怠データ再入力チェック」 と入力されています。 B36セルでは 「既存顧客」とだけ入力されそれ以降の文字はC36に記入されています。 質問は最初の4文字を元のセルにとどめておいて 5文字目以降は次の列に移したいということです。 ちなみに5文字目以降の文字数は各セルによってばらばらです。 MID関数とCOLUMN関数を組み合わせれば、できそうな 気がしますが、その引数がよく分かりません。 これらの関数について詳しい方ご教示よろしくお願い申し上げます

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

  • ベストアンサー
  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.1

こんな方法 =RIGHT(A1,LEN(A1)-4) または、こんな方法 =REPLACE(A1,1,4,"") 関数以外でも、編集⇒置換 を利用して 範囲を選択し既存顧客を""に置き換えるなどの方法も

dradra33
質問者

お礼

結局以下のように回答いたしました。 1.「既存顧客~」という元の単語は 別の列にコピペ 2.別の列をREPLACE関数の引数に使って 「~」の部分のみを抽出 3.あらたに「~」の左となりの列に 列挿入をして「既存顧客」と入力して 解決いたしました。 ご回答ありがとうございました。

dradra33
質問者

補足

早速のご回答ありがとうございます。 =RIGHT(A1,LEN(A1)-4) =REPLACE(A1,1,4,"") 2つの関数を試したところ、 確かに5文字目以降は次の列に移動し、 「給与計算システムへの勤怠データ再入力チェック」 (C36セル)となりましたが、元のB35セルは 「既存顧客給与計算システムへの勤怠データ再入力チェック」 と元のままです。 B35セルについて「既存顧客」の4文字だけとどめておくには、 さらにここからどのような関数を使えば良いでしょうか? たびたびの質問で誠に恐れいりますが、 ご教示のほどよろしくお願い申し上げます。

関連するQ&A

  • Excel:文字列の関数について---文字の抜き出し

    1つのセルに下記のような文字が入力されていて、 そこかからある一定の部分のみ抜き出しをしてほかのセルに値を返す場合、 どの様にしたら良いのでしょうか。 予め入力されている値:(288G3)AAA32-C115X129 抜き出しをしたい値  :AAA32-C115X129 ※予め入力されている値の、")"以降の値を抜き出したいのです。  また、")"以降の文字数は一定ではなく、様々です。 mid関数や、right関数を使って、試行錯誤してみましたが、値を返すことが出来ませんでした。 社内でのデータ作りで値を抜き出すのにとても工数がかかってしまい、困っています。 どうかお力添え下さいますよう宜しくお願いいたします。

  • 全角・半角混在の文字列から半角文字のみ取り出す

    エクセル勉強中です。問題集で理解できないところがあります。 数式がどういう意味をもつのか教えて頂けるとありがたいです。 よろしくお願いします。 画像添付の問題になります。 A列に製品名が入っています。(製品番号:半角文字)(製品名:全角文字) B列に半角文字の製品番号だけを取り出しなさいというものです。 半角文字の開始位置がバラバラになっているところが問題のポイントになっています。 回答ですが B2: =MID(A2,MATCH(1,INDEX(LENB(MID(A2,COLUMN(2:2),1))*1,0),),LEN(A2)*2-LENB(A2)) こちらで半角文字のみ取り出せるようです。回答には数式のみで何故この関数を使うのか? 使うことでどういった結果を導くなどの解説が一切ありません。(ちなみに出版会社の便利技的な問題集です) MID関数で製品名A2から開始位置を指定して、全角半角をLEN関数LENB関数で半角文字数を 算出して文字列を抽出するという事は理解できます。 ただ、この開始位置の指定の所が理解できません。 数式を分割してみましたが =MID(A2,COLUMN(2:2),1)の所はどの行も製品名の1文字目ですよね・・・ その値にLENB関数で文字数? 数式の検証で見てみると配列のような結果が次々と現れて・・・ MATCH関数もありますしINDEX関数が何か関係しているような気はしているのですが、 INDEX関数と言えば配列に行番号・列番号と例えば表の該当するセルの位置抽出の 知識しかありません。一つのセルでINDEX関数? すいません。独学で勉強していてこの程度の知識ですが、この数式の考え方教えてくださる方よろしくお願いします。

  • EXCELで、文字列を任意の文字数毎に分割するには

    ≪やりたい内容と条件≫ ◆EXCELで、文字列を任意の文字数毎に分割したいです。 ◆文字列は、全角・半角・記号を含みます。 ◆1つのセルが半角80桁という制限があり、その上限を超えると、右の次のセルに流し込まれるようにしたいです。(A1は元の文字列1500桁くらい、以降B1,C1,D1,E1・・・という具合に流し込み) ≪試した内容≫ MIDB関数を見つけ挑戦しましたが、1つ目のセルはうまくいきますが、その後が出来ません。例えば、文字列が「・・・・・・abcあいうえお」となっていた場合、B1は「・・・・・・abcあいう」、C1は「 お」(「お」の前は、半角スペース)となります。 何かよい方法はないでしょうか。 一度に出来ないようであれば、A1-B1で残りの文字列が表示できれば、それ以降はまた関数を入れて一つ一つやっていきたいと思っています。 よろしくお願いいたします。

  • エクセルで文字列の右から4文字を削除してセルに表示したい

    明けましておめでとうございます。宜しくお願いします。 エクセルの文字表示で、A列(A1~A20)に文字数の違う文字列が20行程入力されています。それを、A列(A1~A20)のセルに入力されてされている文字列から4文字だけ削除して、B列(B1~B20)に表示(入力)したいのですがどうすればいいのでしょうか? 例えば、A列(A1~A20)のセルにそれぞれ「今年は2008年です。etc.」とか「今年は2008年1月3日です。etc.」、、、など文字数の違った文字列が入力されているセルの右から4文字分「etc.」だけ削除してB列(B1~B20)に「今年は2008年です。」とか「今年は2008年1月3日です。」というふうに表示(入力)したいのです。テキストを読んでMID関数で出来るかなと思ったのですが、MID(文字列の、何文字目から、何文字分)というもので、文字列の左から何文字目を先頭に、何文字分を表示ということで、私のやりたい事の逆なのです。いい方法を教えて下さい。

  • 文字列を分割したい。

    (A1)のセルにある文字列は、数個の文字列をスペース(半角)を開けて配置しています。 (2行目以下も同様の多種の文字列があります。) サンプル 「学校 東京 神奈川県横浜市 ABC アメリカ」 これを、 1行目のセルに関数を用いて、 (B1)に「学校」 (C1)に「東京」 (D1)に「神奈川県横浜市」 (E1)に「ABC」 (F1)に「アメリカ」 と表示したいのです。 関数で処理できましたら、その関数式を教えてください。 関数で処理できない場合は、マクロを教えていただければありがたいです。 よろしくお願いします。 ※エクセルの「区切り位置]機能を試しましたが、うまくいかないようです。

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

    セルA1に123、セルA2に12と入力があった場合、 セルB1にはセルA1の12を、セルB2にはセルA2の1を 表示させたいのですが、 一つの関数でできますか? 文字列操作の関数では見当たらなかったのですが。

  • エクセルで数値と文字を指定すると、指定数値分のセル数だけ文字列を表示するには?

    エクセルの文字列表示方法について質問します。 例えば、A1セルに「3」、B1セルに「赤」と入力すると、 A3~A5の「3」つのセルに「赤」と表示されるようなことをするにはどのようにしたら良いか? A1とB1の値を変えると、A3以降のセルに自動表示されるようにするためにはどのようにすれば良いか? できれば、マクロを使わずに既存の関数等を組み合わせて実現できる方法があれば教えていただきたいのですが・・・。  A B C D 1 3 赤 2 3 赤 4 赤 5 赤

  • Excel 文字列の中から不要文字だけを削除したい

    以前にも同様の質問をして賢者の皆様から、ご教授いただき快適に使用しておりました。 今回もちょっと苦労しております。お力お貸しください。 Excel 2007で各セルに文字列として入力されている、中間にあるハイフン以降の3文字を 削除した文字列としたい。 数字は先頭から5桁-3桁となっておりますが5桁-のものもあります。(顧客コード) 最終的に5桁で集計を取れればと思っております。 例: 12345-001 ABC株式会社 98765-有限会社ごお商会 等 -XXXを削除し文字列だけで元のセルにセットしたいです。 きっと前回の応用なのでしょうけど、REPLACEやらMIDやら試しましたが良くわかりませんでした。 よろしくお願いいたします。

  • 特定文字列を入力⇒所望セル背景色変更

    特定文字列を入力すると所望セルの背景色が変わるような動きをさせたいのですがご教示お願いできないでしょうか。 例えばC1セルに"open"という文字がもともと入っていたとします。その後、C1セルに"close"という文字を入れたら、所望のセル(例えば、A1,B1,D1)の背景色が一気に変わるものになります。画像添付ファイルをご覧ください。 アクションアイテムチェックで、ある案件が処理終了になったらcloseと入力し、視覚的に背景色が変わるような仕組み・操作をイメージしています。よろしくお願いします。

  • エクセル 文字列で右から一文字づつ文字を抽出したい

    エクセル2010を使用しています。 mid(抽出したいセル,左からの文字数,抽出したい文字数)と作業を行ってきましたがmid関数は常に左から抽出されるようです。 そこでright(抽出したいセル,抽出したい文字数)と試みましたが、一番右はOKですが2文字目、3文字目とどのように抽出してよいかわかりません。 どなたかご教授いただけませんでしょうか。