プロが教えるわが家の防犯対策術!

1つのセルに数字と文字が混ざっているのですが、
例えば
 08562杯
 0003496作文
数字のみ残して、文字だけを消す方法がありますか?

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

A 回答 (7件)

No5&6です。



> 特定の列のみでも可能でしょうか。

これを見落としていました。
そうであれば、たとえばA列だけを対象とするなら
For Each c In ActiveSheet.UsedRange を
For Each c In ActiveSheet.Range("A:A") に変えてください。B列なら("B:B")です。わかりますよね?
    • good
    • 0
この回答へのお礼

お礼が遅くなり申しわけありません。
悪戦苦闘しながらもなんとかでき、
無事仕事の方も終りました。
度々丁寧なお返事ありがとうございました。
また、なにかありましたら、お願いします。

お礼日時:2004/04/20 09:47

No6です。


VBAは初めてですか。それじゃ試しにやってみましょう。

失敗するといけないから最初にちゃんとバックアップを取っておいてくださいね。

1.Altキー + F11キー
または、[ツール] メニューの [マクロ] をポイントし、  Visual Basic Editorをクリックします。

2.Visual Basic Editor ウィンドウのメニューから、
 [挿入]→[標準モジュール] をクリックします。

3.表示されたコードウィンドウ(白い部分)に先ほどのマクロコードをそのままコピペします。 (Sub TEST からEnd Subまで)

4.もとのワークシートに戻り、[ツール] メニューの [マクロ] →「マクロ」で今貼り付けたマクロ名(TEST)を選択して、実行。

これでめでたく文字が消えたらおめでとう!
    • good
    • 0

エクセルVBAを使えば数値以外すべてを消去できます。



作成してみました。
当方エクセル2000ですがご希望どおりの動きをしました。

Sub TEST()
For Each c In ActiveSheet.UsedRange
If IsNumeric(c) = False Then
xc = Len(c)
For n = xc To 1 Step -1
If IsNumeric(c.Characters(n, 1).Text) = False Then c.Characters(n, 1).Text = ""
Next n
End If
Next c
End Sub

VBAの使用方法が不明な場合は補足してください。

この回答への補足

回答ありがとうございます。
VBAの使い方全くわかりません。
詳しく教えていただけませんでしょうか。
特定の列のみでも可能でしょうか。

補足日時:2004/04/06 10:22
    • good
    • 0

>1列全ての文字を消せますか?


試されるとよく分かるんですが。1列でも全列でもできます。
ただ,#1にも書いたように文字が多数ならちょっと面倒です。
    • good
    • 0

A列に半角数字(桁数バラバラ)+全角漢字かな(桁数バラバラ)があるとします。

半角は先頭部にあるとします。
B1セルに関数式=LEFT(A1,LEN(A1)*2-LENB(A1))
と入れて、B2以下に、A列のデータの最終行まで複写します。LEN(A1)*2-LENB(A1)はLEN(A1)-(LENB(A1)-LEN(A1))
から来ています。
全角漢字かな(桁数バラバラ)+半角数字(桁数バラバラ)の行も混じっているなら、まず最初にA列でソートして
下さい(注)。先頭部が半角のセルは前半(上部)、全角文字列が先頭部にあるセルは表の下部に固まります。半角が先頭部にあるセルが固まった上部には、上記の関数式を
、全角が先頭部にくるセルには=RIGHT(A3,LEN(A3)*2-LENB(A3))
をいれて、それより下行に複写するとよい。
式の中の「A3」の部分は、実際例では、全角先頭部のセルが初めて現れる行で置き変えること。
(注)後で元の順序に戻したいのなら、ソートする前に、第1行目からの連番を空き列にオートフィルで振っておきます。
    • good
    • 0

ちなみに「置換後の文字列」に何も入力しないままで置換します。

この回答への補足

もう少し詳しく教えていただけませんでしょうか。
1列全ての文字を消せますか?

補足日時:2004/04/04 07:07
    • good
    • 0

「置換」でできますよ。

(ただ文字が多数だと面倒ですが。)
    • good
    • 0

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

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

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文字列から英数字のみを抽出する関数

文字列から英数字のみを抽出する関数を教えていただきたいです。

セルの文字列にはひらがな、カタカナ、数字、アルファベット、記号等を含みます。

色々調べてはみたのですが、数字のみを抽出する関数の説明はたくさんありますが、
アルファベットも含むとなると見つかりませんでした。

数字0~9とアルファベット27個の計37個の文字なので、どうにか関数でできると思うのですが。

具体的には下記のようにしたいのです。

●A列
今日iPhone5をauで購入
最新のNEWSを15時~PCで見る 
Moonshotを生み出す「Google X」

●B列にこう表示したいのです。
iPhone5au
NEWS15PC
MoonshotGoogleX


スペースは残ったままでも結構です。

詳しい方、どうかよろしくお願いいたします。

Aベストアンサー

>数字のみを抽出する関数の説明はたくさんありますが

文字列の中に数字が「一塊だけ」ある場合の説明は多分沢山ありますが、(今回のご質問のように)「文字数字文字数字文字数字」と不定数入り混じってる場合の数式は、全く見つからなかったと思いますよ。

たとえば「英数字が最大限3カタマリまで」といった制約を付けて無理矢理関数をくっつける事は出来なくはありませんが、正直不細工ですし、そもそもあんまり現実的じゃありません。



手順:
ALT+F11を押す
現れた画面で挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける

public function myf(a) as string
 dim i as long
 for i = 1 to len(a)
 if mid(a,i,1) like "[0-9a-zA-Z ]" then
  myf = myf & mid(a,i,1)
 end if
 next i
end function

ファイルメニューから終了してエクセルに戻る

任意のセルに元の言葉を記入し、
=myf(A1)
のように計算する。

>数字のみを抽出する関数の説明はたくさんありますが

文字列の中に数字が「一塊だけ」ある場合の説明は多分沢山ありますが、(今回のご質問のように)「文字数字文字数字文字数字」と不定数入り混じってる場合の数式は、全く見つからなかったと思いますよ。

たとえば「英数字が最大限3カタマリまで」といった制約を付けて無理矢理関数をくっつける事は出来なくはありませんが、正直不細工ですし、そもそもあんまり現実的じゃありません。



手順:
ALT+F11を押す
現れた画面で挿入メニューから標準モ...続きを読む

QExcelで数式だけを消して、数値を残すには?

質問失礼します。

エクセルに、数式を利用して、数値を入力しています。

データを他社に納品する際は、数式を消して、数値だけのエクセルデータを提出したいのですが、数式で出した数値を、数式を消してもそのままにしてエクセルデータとして保存できるでしょうか?

Aベストアンサー

範囲を選択しておいて、右クリックメニューでコピーして、右クリックメニューで「形式を選択して貼り付け-値(V)」をクリック。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング