[[20130106105748]] 『アルファベットのみ抽出』(maru) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『アルファベットのみ抽出』(maru)
A11に
20.文字データ ABCDEF
のようなデータがセットされています。

ABCDEFのみ抽出するにはどのようにすればよいでしょうか?
関数のみでできますか?

よろしくお願いします。


 関数は全くしろうとだけど以下のページにマクロ処理以外にエクセル関数での抽出式が紹介されていた。

http://okwave.jp/qa/q6631393.html

 (ぶらっと)

 # マクロも関数もぶうらっとさん提示の先に書かれていましたけれど、せっかく書いたので一応アップです。

 どうしてもマクロに眼が行ってしまいますが、下記のようなマクロでどうでしょうか。

 標準モジュールに下記を置き、適当なセルで
 =getAlphabet(A11)
 です。
 (Mook)

 Function getAlphabet(target As Range)
    getAlphabet = ""
    For i = 1 To Len(target.Value)
        ch = Mid(target.Value, i, 1)
        If UCase(ch) Like "[A-Z]" Then
            getAlphabet = getAlphabet & ch
        End If
    Next
 End Function


 UDF
 セルに
 =Ap\lpabets(A1)

 標準モジュールへ
 Function Alphabets(ByVal txt As String) As String
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "[^A-Za-zA-Za-z]"
        Alphabets = .Replace(txt, "")
    End With
End Function
(seiya)

回答いただきました標準モジュールへの記述でできました。
ありがとうございました。

(maru)


 一応。。。ぶらっとさんのリンク先の例を参考に関数で。

 =SUBSTITUTE(LEFT(A1,LOOKUP(1,0/(CODE(TEXT(MID(UPPER(ASC("?"&A1)),ROW($1:$100),1),"[DBNum3]0"))<91),ROW($1:$100))-1),
  LEFT(A1,MIN(INDEX(FIND(CHAR(ROW($65:$90)),UPPER(ASC(A1))&CHAR(ROW($65:$90))),))-1),)

 ※英字 ひと纏まりが前提

 (GobGob)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.