[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『漢字を抽出』(ちゃいな)
いつも勉強させてもらってます。
さっそく質問なのですが、数字やブランクなどが混在したデータから
漢字のみを抽出する方法はありませんでしょうか?
例えば、セルに『00 高田純次 .m』とはいったデータから
『高田純次』を抽出。
よろしくお願いします!
必ずスペースに挟まれているのでしょうか? 法則を判別したいので、いくつか例を挙げて下さい。
123亜456医 789兎0 →亜医兎 とか? (INA)
1234谷川 譲治 .m
5678 堤淳.m
1358 金子 和正.m
という感じなので、必ずデータに挟まれてはいません。
(ちゃいな)
ご提示の例題には対応できました。 [A] [B] [ 1] 1234谷川 譲治 .m 谷川 譲治 [ 2] 5678 堤淳.m 堤淳 [ 3] 1358 金子 和正.m 金子 和正
B1=TRIM(SUBSTITUTE(SUBSTITUTE(TRIM(A1),".m",""),LOOKUP(10^17,--LEFT(A1,COLUMN(1:1))),""))
これで良いのか・・・。 B1=TRIM(SUBSTITUTE(SUBSTITUTE(A1,".m",""),LOOKUP(10^17,--LEFT(A1,COLUMN(1:1))),""))
(川野鮎太郎)
漢字・・・うぅ〜〜ん、、どうかな?? 標準モジュールに貼り付けてください。 A列データがある場合です。 Option Explicit Sub てすと() Dim MyA As Variant Dim MyStr As String Dim i As Long, j As Long With Sheets("Sheet1") MyA = .Range("A1", .Range("A65536").End(xlUp)).Value ReDim MyAry(1 To UBound(MyA, 1), 1 To 1) For i = 1 To UBound(MyA, 1) MyStr = MyA(i, 1) For j = 1 To Len(MyStr) If StrConv(StrConv(Mid(MyA(i, 1), j, 1), vbKatakana), vbWide) = _ StrConv(Mid(MyStr, j, 1), vbNarrow) Then MyAry(i, 1) = MyAry(i, 1) & Trim(Mid(MyStr, j, 1)) End If Next Next .Range("B1").Resize(UBound(MyA, 1), UBound(MyA, 2)).Value = MyAry End With End Sub (SoulMan)
川野鮎太郎さん、 SoulManさん、ありがとうございました。
どちらの方法でもうまくいきました!
(ちゃいな)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.