お酒好きのおしりトラブル対策とは

複数のセルの、数字部分のみ別のセルに移動したいのですが、
教えていただけますでしょうか?



セルA
aaa1234
bbb5678
ccc9874
ddd5642



セルA   セルB
aaa     1234
bbb     5678
ccc     9874
ddd     5642

このように、文字と数字を分けたいです。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

こんにちは!



質問通り必ず数値は最後にあり連続しているとします。
↓の画像で
B1セルに
=SUBSTITUTE(A1,C1,"")

C1セルに
=MID(A1,COUNT(MID(A1,ROW($A$1:$A$20),1)*1),20)
C1セルは配列数式になりますので、Ctrl+Shift+Enterで確定!
この画面からコピー&ペーストする場合は
上記数式をドラッグ&コピー → C1セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま)
Ctrl+Shiftキーを押しながらEnterキーで確定!
数式の前後の{ }マークが入り配列数式になります。
最後にB1・C1セルを選択 → C1セルのフィルハンドルで下へコピー!
これで画像のような感じになります。
(A列が20文字まで対応できる数式です)

尚、数値位置が決まっていない場合はVBAになりますが一例です。
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() 'この行から
Dim i As Long, k As Long, myStr As String, str1 As String, str2 As String
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
For k = 1 To Len(Cells(i, "A"))
myStr = Mid(StrConv(Cells(i, "A"), vbNarrow), k, 1)
If myStr Like "[0-9]" Then
str2 = str2 & myStr
Else
str1 = str1 & myStr
End If
Next k
Cells(i, "A") = str1
Cells(i, "B") = str2
str1 = ""
str2 = ""
Next i
End Sub 'この行まで

※ 一旦マクロを実行すると元に戻せませんので
別Sheetでマクロを試してください。m(_ _)m
「数字部分のみ別のセルに移動したいです。」の回答画像1
    • good
    • 0
この回答へのお礼

ありがとうございます!
数値位置が決まっていなかったため、2つ目の方法で試しましたところ、成功しました。
何時間かかるかわからない作業が一瞬で片付きました。
感動です。誠にありがとうございました。

お礼日時:2014/09/07 11:35

No.1です。



前回のC1セルの数式は間違っていました。
↓の数式に変更してください。
今回もC1セルは配列数式です。
=1*MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($A$1:$A$20),1)),0),COUNT(1*MID(A1,ROW($A$1:$A$20),1)))

前回の数式では数字前の文字数変化に対応できません。

どうも失礼しました。m(_ _)m
    • good
    • 0

数字と文字をわけるのではありませんが、ご提示のように左3文字が数字、残りが文字なら


=LEFT(A1,3)
で、左の3文字を
=MID(A1,4,LEN(A1))
で、残りを取得できます。
「数字部分のみ別のセルに移動したいです。」の回答画像2
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Qエクセルのセル内から数字だけを抽出する方法を教えて下さい

エクセルのセル内から数字だけを抽出する方法を教えて下さい
あるデータの列(備考欄)には様々な文字が入っていて、
その中に●名(●は数字)が入っています その数字だけを取り出して
別の列に移す関数を教えて下さい
※この列には他の数字は入っていません、最大で2ケタです

よろしくお願いします

Aベストアンサー

セル内の文字列の中に2桁までの数字が入っている場合に、その数字部分を抽出したいなら以下のような数式になります。

=MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A2)&1234567890)),1)&IF(ISNUMBER(MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A2)&1234567890))+1,1)*1),MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},ASC(A2)&1234567890))+1,1)*1,"")

Q数値入力で簡単に該当のセルへ移動できませんか?

エクセル2007(2010)です。

行が名前(約50名)、列が1~12月となっています。
「3月、山田、500万」という伝票があります。
伝票はランダムに出てきますので、毎回名前を探して、該当のセルに数値を入力します。

そんなに量が多くないので、毎回スクロールして探していますが、
簡単に該当のセルに飛ぶ方法はないものでしょうか?

それが出来たら他の表にも応用したいと思っています。
宜しくお願いします。

Aベストアンサー

こんにちは。

私ならば,入力用のフォームをVBAで作るでしょう。フォームの名前のリストと月のリストを選択して数値を入力すれば,しかるべきセルに値が入るようなプログラムです。

これ位ならば,簡単でしょう(私には・・・)。ちょっとExcel VBAを勉強すれば出来ますよ。それができれば応用が利きます。


人気Q&Aランキング

おすすめ情報