• ベストアンサー

Excle 特定の文字から右の文字列を隣のセルへ移動させたい

エクセル関数について質問させてください。 例えば以下の様なデータがあります。         A              B 1  東京都台東区 101  これを全角ブランクから右の文字列すべてをB1セルに移動する方法をご教授下さい。 例)         A              B 1  東京都台東区            101  よろしくお願いします。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 =TRIM(MID(A1,FIND(" ",A1),LEN(A1))) 又、データ→区切り位置を利用して隣列に移動する事が可能ですが如何でしょうか。

afoneko
質問者

お礼

思ったとおりの事が出来ました! ありがとうございます。

その他の回答 (2)

noname#140971
noname#140971
回答No.3

エクセル関数では、チト、荷が重いかもですね。 =RIGHT(A1, ABS(LEN(A1 & "")-FIND(" ",A1 & " "))) で、数字は右へ移せます。 しかし、数字の削除は出来ません。 --------------------------------------------------------------------------------- Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)   Dim strText As String      strText = Target.Value   If InStr(1, strText, " ", vbTextCompare) Then     Target.Value = CutStr(strText, " ", 1)     Cells(Target.Row, Target.Column + 1) = "'" & CutStr(strText, " ", 2)   End If End Sub ---------------------------------------------------------------------------------     Cells(Target.Row, Target.Column + 1) = CutStr(strText, " ", 2) ですと、新しい列は数字になります。 例えば、こういうVBAコードを書けばダブルクリックすると文字列が分割されます。 もちろん、標準モジュールに CutStr関数を登録していないと上記のコードは実行できません。 Public Function CutStr(ByVal Text As String, _             ByVal Separator As String, _             ByVal N As Integer) As String   Dim strDatas() As String      strDatas = Split("" & Separator & Text, Separator, , 0)   CutStr = strDatas(N * Abs((N <= UBound(strDatas)))) End Function

afoneko
質問者

お礼

ありがとうございます。 私にVBAはハードルが高いですが、試して見ます。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.2

ご参考 区切り位置で楽々データ分割 http://kokoro.kir.jp/excel/delimitation-position.html

afoneko
質問者

お礼

エクセルの機能にあったんですね…。 目からうろこです、ありがとうございました。

関連するQ&A

  • EXCEL 文字列分割について

    EXCEL2003を使用しています。 1つのセルに文字列が入力されており、 それを決まったバイト数ずつ別のセルに分割したいと考えています。 例)A1の文字列を6バイトずつ分割したい A1:東京都文京区 ↓ B1:東京都 C1:文京区 これを実現する為に B1に「=LEFTB(A1,6)」 C1に「=MIDB(A1,7,6)」という数式を入力しました。 A1の文字列が全角のみ(または半角のみ)なら 上記の数式で問題ないと思うのですが、 分割対象の文字列は全角と半角が混ざっており、 例えばA1の値が 「a東京都文京区」 というようなものだった場合、 B1:a東京 C1:文京 となり、元の文字列にある「都」の文字が消えてしまいます。 元の文字列が上記の様な場合には B1:a東京 C1:都文京 というように値が返されるようにしたいのですが、 どのように実現したらよいでしょうか?

  • セル内のいろいろな文字列から特定の文字だけ抜き取りたいです。

    EXCEL関数で、 セル内のいろいろな文字列から特定の文字だけ抜き取りたいです。 例えば 「東京都渋谷区Excelビル」 「千葉県船橋市Excelセンタービル」 から 「Excel」 だけを抜き取りたいです。 どうしたらいいでしょうか? 教えてください。よろしく、お願いいたします。

  • エクセルでA列にある文字が含まれている時、そのB列に固定文字を追加したい。

    エクセルでA列にある文字が含まれている時、そのB列に固定文字を追加したい。 例) A列に東京の文字があれば、そのB列に固定文字を追加する。   A       B 1 東京都港区 2 大阪府 3 東京都    B列の元文字      2 大阪府 ※ B列にすでに文字があるときは、固定文字を前に追加したい。例)固定文字+B列の元文字 ※ B列に文字がなければ、固定文字のみを入れたい。 実行例   A       B 1 東京都港区 固定文字 2 大阪府 3 東京都    固定文字 B列の元文字  エクセルマクロでできる方法を教えてください。 宜しくお願い致します。

  • エクセルで文字列の右から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(文字列の、何文字目から、何文字分)というもので、文字列の左から何文字目を先頭に、何文字分を表示ということで、私のやりたい事の逆なのです。いい方法を教えて下さい。

  • セルの移動で、お知恵をお貸しください。

    セルの移動で、お知恵をお貸しください。 A列に数字を入れるとB列のセルを数字の分だけ、右や上に移動させたいのですが、可能でしょうか。   A列 B列 C列    D列   E列    F列    1    関数   2    関数   5    関数   1    関数   3    関数 右に移動↓   A列 B列 C列    D列   E列    F列    1    関数   2         関数   5                         関数   1    関数   3              関数

  • 文字列を右に移動させることができません

    よろしくお願いします。 ホームページビルダーVer11を使っています。 スタンダードでページ編集をしているのですが、A文字列とB文字列との間隔をもう少し取りたいと思いまして、B文字列を”スペースキー” で右に移動させたいのですが、スペースキーを打つ度に「キン」と1度ですが音が出まして、移動させることができません。 移動できる場合もあるのですが、なぜ、移動できる場合とできない場合があるのかがわかりません。 よろしくお願いいたします。

  • Excelで、セル内の特定の文字を移動する方法を教えてください。

    Excelで年表を作成しています。 年代と本文を分けたいのですが、どのようにやればよいかわかりません。 例えば、B1のセルに1945年太平洋戦争終結。という文字列が入っています。この中の1945年をA1のセルに移動して、B1のセルには太平洋戦争終結をスペースなしで残したいのですが、Excelでは出来るのでしょうか。 MID関数で移動させる手も考えましたが、手間かかりデータを間違えそうで。 なにか良い方法がありましたら、是非、お教え下さい。 よろしくお願い致します。 過去ログも調べたのですが、見落としていたら申し訳ありません。

  • EXCELでA列とB列の文字が合わせてC列に入るやり方を教えて欲しいで

    EXCELでA列とB列の文字が合わせてC列に入るやり方を教えて欲しいです。 例 A1セルは04+  B1セルは2000 C列に04+ 2000のように作りたいです(真ん中に1個スペース)。 セルが多すぎて、一個ずつやるのは大変時間かかりますので、関数のやり方をご教示ください。 よろしくお願いします。

  • エクセルでセル内改行された文字から特定の文字を抜き出す関数を教えてくだ

    エクセルでセル内改行された文字から特定の文字を抜き出す関数を教えてください。 1つのセル内に、改行された文字がいくつか入っています。 例えば、A1セルに ●〒123-4567 ●東京都中央区・・・・ ●電話 03-123-****** ●メールアドレス abc@de.com この内、メールアドレスである、abc@de.comだけをB1セルに抜き出したいと 考えています。 これを抜き出す関数があれば教えて頂きたいです。 宜しくお願いします。

  • となりのセルの文字を消したい

    困っているので助けてください。 A列   |  B列      | ↓こんな風にしたい PCA651 | PCA651テープツキ   | テープツキ QTC421 | エンピツQTC421シサク | エンピツシサク 上記のようなエクセルでのデータがある時、 B列の中から、A列にある文字を消したいです。 データ量が1万件もあるため、手で消していくのが大変です。 量が多いため、「置換」ができません。 セルで指定ができない?んですかね。。。 A列の文字が消えれば、スペースができても構いません。 関数で使えるのがないか、探したのですが、うまくいきません。 B列文字列 - *A列の文字*(または含む)が理想です。 何か良い案ないでしょうか? この際マクロやアクセスに挑戦してみようかとも思いますが、 それが必要であれば、具体的なヒントください。 よろしくお願いします。

専門家に質問してみよう