A 回答 (5件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
正規表現で、{一-龠}が漢字※、{ァ-ヶ}がカタカナ、{ぁ-ん}がひらがなといった感じで抽出できる可能性もありますが、どの様なデータなのか、例をある程度のバリエーションで見せていただかないと、イメージが湧きませんし、試行もできません。
正規表現については、「正規表現」もしくは「VBA 正規表現」でWEB検索していただくと、沢山情報が得られます。
ご参考まで。
※JISの第2、第3水準なのか、コード表にはもっと後ろまで難しい漢字が並んでおります。
No.3
- 回答日時:
A No.1です。
手の内を明かされる気はなさそうなので、2万セル×文字数だけループを回して判定しては如何。人間がやるよりは速いでしょう、きっと。
<テスト用データ> 1行目は単なる見出し、A2が試験用データです。
..............................A...............B...............C......................D
..1......テストデータ.........................1文字........JIS CODE
..2..Azヲ゜ァヶぁん亜........................................=CODE(C2)
亜の後ろには黒の変種の漢字が入れてありますが、表示されない...
<1セルを処理するコード>
Sub test()
Dim i As Long
Dim buf As String
Dim jisCode As Long
buf = ActiveSheet.Range("a2").Value
For i = 1 To Len(buf)
ActiveSheet.Range("c2").Value = Mid(buf, i, 1)
jisCode = ActiveSheet.Range("d2").Value
Select Case jisCode
Case 65 To 122
Debug.Print "半角英"
Case 166 To 223
Debug.Print "半角カナ"
Case 9505 To 9590
Debug.Print "全角カナ"
Case 9249 To 9331
Debug.Print "全角かな"
Case 12321 To 38700
Debug.Print "漢字"
End Select
Next i
End Sub
<処理結果>
半角英
半角英
半角カナ
半角カナ
全角カナ
全角カナ
全角かな
全角かな
漢字
漢字
※1文字ずつ、C2に入れて処理しているのは、ワークシート関数のcodeにあたる物が、VBAの関数になさそうなのと、VBAのASCWで、UNICODEにすると、正負が入り交じって、自分の手には負えないためです。全てコードでやりたければ、参考URLをご覧下さい。
参考URL:http://www.ken3.org/vba/backno/vba079.html
仕事中でしたので、返答遅れてしまいました。
申し訳ありません。
データは
1行目が数字
2行目が項目
3行目からデータ
になります。
イメージ的にはこんな感じです↓
会社名 郵便番号 都道府県 市区郡 番地 電話番号・・・
00会社 146-8909 東京都 葛飾区 7-4-00 03-4347-0000・・
この会社名の中に、英語の社名などの社名の中に半角スペースが入る場合があり、簡単にわかる方法はないかと思い投稿いたしました。
エクセル初心者ですので、難しいことはわからないのですが、HP見てみます。
ありがとうございました。
No.4
- 回答日時:
A No.1です。
何をされたいのか、いまいち分かりません。
英語の社名というのは hoge company ltd.とかいうパターンなのでしょうか。とすると、半角スペースがあって当たり前のような気がしますが、半角スペースをみつけてどうされたいのでしょうか。
この回答への補足
半角スペースを見つけたいわけではありません。
データクリーニングをしていると、書いたんですが、
hoge company ltd.が正しい形として、データではhogecompanyltd.となっている可能性があります。
なので、英語部分だけをみつけて、入力を統一したいのです。
No.5
- 回答日時:
ANo.1です、手の内と、テストデータ(機密情報は適当にいじって)を開示していただかないと、遠回りするだけです。
結局、最初の回答に戻っています。ユーザー関数で行う事例です。
Function extractAlphabet(targetString As String) As Variant
'下行の[]内の半角スペースを削除すると、一続きの半角英文字列のみがヒットします。
extractAlphabet = subMatchWord(targetString, "([A-z ]+)")
End Function
Private Function subMatchWord(targetString As String, matchString As String) As Variant
Dim regEX As Variant
Dim Matches As Variant
Dim match As Variant
Set regEX = CreateObject("VBScript.RegExp")
regEX.MultiLine = False
regEX.Pattern = matchString
regEX.ignorecase = True
regEX.Global = False
On Error GoTo errorHandle
Set Matches = regEX.Execute(targetString)
If Matches(0).subMatches.Count > 0 Then
subMatchWord = Matches(0).subMatches.Item(0)
Else
subMatchWord = CVErr(xlErrNA)
End If
Set Matches = Nothing
Set regEX = Nothing
Exit Function
errorHandle:
subMatchWord = CVErr(xlErrNA)
End Function
実用上は、データが2万もあれば、上記関数を使ってVBAでループを回して処理すべきです。
試験結果は下記の通り。
..............................................A.......................................B
..1...............................元データ.................半角英字抽出
..2...................hogecompanyltd...............hogecompanyltd
..3...............hoge company ltd...........hoge company ltd
..4..昔々あるところにお爺さんと...............................#N/A
..5................昔々an old manと......................an old man
..6.................................................=extractAlphabet(A5)
1行目は見出し
6行目はこんな式が入っていますという意味です。
データ的にはあのような企業情報が続くだけなのですが・・・。
VBAはちょっとわからないので、社内の人に見せて聞いてみます。
度々、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
EXCELで、漢字のみ抽出する式を教えてください。
Excel(エクセル)
-
Excel2003のセルから漢字のセルだけ取り出す方法
その他(Microsoft Office)
-
エクセルでセルの中身が漢字かどうか識別する方法は?
Excel(エクセル)
-
-
4
Excelでカタカナ・ひらがな・英数字の抽出
その他(Microsoft Office)
-
5
エクセル ひらがなの文字を抽出
Excel(エクセル)
-
6
エクセル カタカナの文字を検索したら漢字もヒットしてしまうのですが
Excel(エクセル)
-
7
エクセル、関数でセル内の半角カタカナ漢字、を分けて他のセルへ表示する方法
Excel(エクセル)
-
8
日本語(ひらがな・カタカナ・漢字)があるか判断する
Excel(エクセル)
-
9
エクセルでセルのデータがカタカナかどうか調べたい
Excel(エクセル)
-
10
エクセルで(1)文字列の中からひらがなだけを削除(2)文字列の中からカタカナだけを削除 する方法
その他(OS)
-
11
漢字の含む数値列の検索方法
Excel(エクセル)
-
12
Excelにて、カタカナだけのセルを抜き出す方法は?
Excel(エクセル)
-
13
名簿の漢字名を関数で半角カナ文字にすることは可能でしょうか?
Excel(エクセル)
-
14
Excel2007でカタカナの文字のみを抽出、表示するには?
その他(Microsoft Office)
-
15
文字列からアルファベットを抽出
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPの正規表現の意味を教えて下...
-
文字の入力で横バー上段、中断...
-
特定の文字を簡単な操作で半角...
-
エクセルでの漢字、カタカナ、...
-
PHPの空白除去
-
HTML_QuickFormでの日本語の扱...
-
最後のスペースの後の()
-
VBScriptである文字列に半角文...
-
=code(" ") で値が160となる文...
-
エスケープ文字の復帰(¥r)と...
-
textarea , PHP, 確認画面 改行
-
C言語について。
-
sedでの最短一致の書き方
-
VBAのコマンドボタンの文字列の...
-
変数にHTMLを代入する場合
-
漢字を含んだ正規表現
-
文字化け変換方法
-
Excelで数字のみを2倍3倍にする...
-
MacOSXのgccのprintfで改行が出...
-
PHP 「あいまい検索」を行う関...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスで1025文字...
-
文字の入力で横バー上段、中断...
-
全角括弧と全角読点の間隔を狭...
-
エクセルのCOUNTIFが正しくカウ...
-
Excel関数「COUNTIF」で”文字”...
-
エクセルでの漢字、カタカナ、...
-
半角記号、全角記号を含む正規...
-
記号は半角と全角どちらがよい...
-
VBScriptである文字列に半角文...
-
文字列中の両丸括弧を取り除くV...
-
XMLのタグ名の禁則文字
-
Replace関数は文字数の制限ある...
-
VBAで英数字入力チェックしたい。
-
半角数字かどうかの判定
-
なぜインターネットでは半角カ...
-
全角半角変換 C++/CLI
-
全角英数文字が嫌われる理由を...
-
IT企業の技術屋にとって全角英...
-
2つ以上の連続する空白文字を除去
-
バッチファイル 全角検索
おすすめ情報