[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『エクセル 文字の中から漢字のみ抽出』(MIMI)
エクセルの文字の中から 漢字のみ抽出する関数を教えて下さい。
例)
元データ:山田(ABCDEFG※/)太郎
↓
抽出後:山田太郎
抽出するのは漢字のみで、英語・数字・記号を除外します。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
(もこな2) 2019/08/28(水) 17:01
もこな2さんの指摘もありますので、漢字とはなにか・・があいまいですね
ユーザー定義関数を作ってみました 一応 chr(1)からchr(128) までと、その全角文字を消していますが
これだけだと※が残りますので、個別に削除しています
削除したい文字が出てきたら随時myDelLetterに追加してください
Function mykanji(myR As Variant) As String
Dim i As Long Dim myStr As String Const myDelLetter As String = "※" '随時追加
myStr = myR.Value
For i = 1 To 128 myStr = Replace(myStr, Chr(i), "") myStr = Replace(myStr, StrConv(Chr(i), vbWide), "") Next
For i = 1 To Len(myDelLetter) myStr = Replace(myStr, Mid(myDelLetter, i, 1), "") Next
mykanji = myStr
End Function
(渡辺ひかる) 2019/08/28(水) 17:47
UDF 使用例 =JPLonly(A1)
Function JPLOnly(ByVal txt As String) As String Static RegX As Object If RegX Is Nothing Then Set RegX = CreateObject("VBScript.RegExp") With RegX .Global = True .Pattern = "([^亜-龠あ-んァ-ヶ])" JPLOnly = .Replace(txt, "") End With End Function (seiya) 2019/08/28(水) 17:56
抽出文字列が文中に点在している場合は関数では難しいと思いますよ? (seiya) 2019/08/28(水) 18:11
ちなみに、 セル中にある文字で かっこから、かっこの間の文字のみ削除するような
計算式はありませんか?
例えば、 山田太郎(ヤマダタロウ)様
変更後 山田太郎様
(MIMI) 2019/08/29(木) 08:55
=IFERROR(LEFT(A1,FIND("(",A1)-1)&REPLACE(A1,1,FIND(")",A1),""),A1) ではどうか? (ねむねむ) 2019/08/29(木) 09:15
それなら、数式もVBAも不要
置換で 検索する文字列 に "(*)" <---"は不要、スペースがあることを表現しているだけ。 置換する文字列 を 空白のままで全て置換 (seiya) 2019/08/29(木) 09:41
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.