EXCELで入力しているデータをフィルターを使用して検索できる
データベースにしたいのですが、以前からの入力しているデータの英数字が全角、半角が混在していてます。
フィルター検索の際に全角で入力すると半角入力のものがヒットしないので不便で、英数字の半角統一にしたいと考えています。
ASC関数を使用して英数字の全角→半角を行なうこと考えたのですが
ASC関数ですとカタカタも半角カタカナに変換されるので
英数字だけを全角→半角にする関数や方法などあれば教えてください。
入力データは
漢字、ひらがな、カタカナ、英数字が混在しています。
希望
全角→漢字、ひらがな、カタカナ
半角→英数字
宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
こんばんは。
行きがかりで、以下の質問と同じですが、こちらにも書いておきます。
http://oshiete1.goo.ne.jp/kotaeru.php3?qid=4071741
#3 にマクロがあります。
それを手直しし、ユーザー定義関数に変更してみました。
標準モジュールに貼り付けてください。後は、通常の関数のように入れてくださればよいです。ただ、Office の場合は、ExcelのJIS 関数にしても、中身は、単に、1文字ずつを、全角にしているわけではありません。一文字ずつ変換するのは、どちらかというと中途半端な結果になってしまいます。
例えば、
「半角」で、パピプ と入れ、=LEN(A1) とすると、6
それを、JIS関数で変換して、=LEN(A2) とすると、3
が出てきます。
つまり、バ、パ など、半角の濁音、半濁音は、必ずまとめて全角に変換しなければなりません。また、VBA以外で、それを実行するときは、ストリームの中で、半濁音の監視をしないといけないわけですが、幸い、そのようなプログラムは必要ありません。Office に詳しくない方だと、この点を見落としてしまいます。
以下の関数は、フィルタになりますから、そのまま、マクロに入れることも可能です。その場合は、出来れば、VBScrip.RegExp は、参照設定して、そのまま、開放しないままにしておいたほう速いかもしれません。
なお、
>全角→漢字、ひらがな、カタカナ
カタカナ以外に対しては、漢字、ひらがなの半角文字はExcelにはないはずです。
また、=Now()関数 で[22時40分](書式:[DBNum3]h"時"mm"分") を表示したものも、[22時40分]と変換することは可能です。
'-------------------------------
'標準モジュール
Function Zen2Han(strText As Variant) As String
'全角:カタカナ,半角:英数字・記号
Dim myPats As Variant
Dim Re As Object ' As RegExp
'参照設定では、Microsoft VBScript Regular Expressions 5.5
Dim Matches As Object 'As MatchCollection
Dim Match As Object 'As Match
Dim buf As String
Dim i As Integer
'半角カタカナ, 全角英数など
'半角のカタカナはWebで表示できないので、コードにしてあります。
myPats = Array("([\uFF66-\uFF9F]+)", "([!-}]+)")
If IsEmpty(strText) Then Exit Function
If StrComp(TypeName(strText), "Range") = 0 Then
strText = strText.Text
End If
Set Re = CreateObject("VBScript.RegExp")
'Set Re = New VBScript
With Re
.Global = True
.IgnoreCase = True
buf = strText
For i = 0 To 1
.Pattern = myPats(i)
Set Matches = .Execute(buf)
If Matches.Count > 0 Then
For Each Match In Matches
buf = Replace(buf, Match, StrConv(Match, (i + 1) * 4), , , vbBinaryCompare)
Next Match
End If
Next
End With
Zen2Han = buf
Set Re = Nothing
End Function
----------------------------------
''変換関数を組み合わせたマクロ(標準モジュール)
Sub Main()
Dim c As Range
Dim rng As Range
On Error Resume Next
Set rng = ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants, xlTextValues)
On Error GoTo 0
Application.ScreenUpdating = False
If rng Is Nothing Then
MsgBox "対象セルが見つかりません", vbExclamation, "終了"
Exit Sub
End If
For Each c In rng.Cells
c.Value = Zen2Han(c.Value)
Next c
Application.ScreenUpdating = True
End Sub
-----------------------------
No.2
- 回答日時:
関数を使っても良いのなら、[ ASC関数]ではなく[ユーザー定義関数]を
使用してはいかが。
http://billyboy.blog81.fc2.com/blog-entry-84.html
[ユーザー定義関数]が初めてならこちら↓
http://www.konomiti.com/Ex_kan_05.html
No.1
- 回答日時:
Excel日本語版は昔からカタカナとASCII文字の区別が出来ないか
ら、面倒くさいですね。
私ならテキストファイルに吐き出して、高機能のテキストエディタ
で必要な文字だけ一度にまとめて変換し、Excelに戻します。JEdit
を愛用していますが、本当に一瞬で終わりますよ。
でなければ、せっかくデータベースとして活用したいのだから表計
算ソフトを卒業して、ファイルメーカーあたりに持ち込みます。検
索で1バイト文字/2バイト文字や大文字/小文字を区別しません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Excel(エクセル) EXCELでの文字・数字入力の基本について教えてください。 2 2023/05/29 23:17
- デスクトップパソコン 40年間の悩み キーボードにおいて初期値として漢字ローマ字変換に設定する方法 8 2023/05/08 14:50
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Excel(エクセル) exel 漢字・英数字混在セルの入力規則 5 2022/04/03 11:08
- その他(Microsoft Office) 英数字のみ全角から半角に変換 4 2023/07/28 14:48
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- その他(ソフトウェア) ソースネクストアプリをインストールし、製品登録で半角英数字が入力できない 5 2022/07/03 22:44
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カタカナを小文字から大文字に...
-
Excelで全角を半角にしたいので...
-
エクセルで、半角カタカナの住...
-
select case 大文字小文字を...
-
ピボットテーブルでワイルドカード
-
日本語入力On/Offを音などで知...
-
ローマ字入力ができない
-
ァ→ア (アクセス)
-
ファイル名を半角大文字にする...
-
半角カタカナがVBAだと全角...
-
「トゥ」をローマ字で打ちたい...
-
小さい「ウ」ってキーボードで...
-
「”」と対になる「チョンチョン...
-
X₁=3、X₂=4 の 小さい数字の...
-
ローマ字入力のキーボードで最...
-
プラス(足す)キーはどうやっ...
-
常にローマ字日本語入力にする...
-
=を縦にした キーボードの入力...
-
キーボードがCtrlキーが押され...
-
どうでもいいような質問ですい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カタカナを小文字から大文字に...
-
ハイパーリンクの中の半角カタ...
-
EXCEL 「ASC」関数 ...
-
全角と半角のA、Aそれぞれ大文...
-
ァ→ア (アクセス)
-
半角カタカナがVBAだと全角...
-
文字を打つときに文字に下線が...
-
エクセルでひらがな全角~カナ...
-
select case 大文字小文字を...
-
ファイル名を半角大文字にする...
-
ATOKの入力がおかしくなること...
-
[半角/全角 漢字]キーを押さず...
-
ローマ字打ちからひらがな打ち...
-
カタカナをローマ字に変換して...
-
半角英数字を大文字に変換する...
-
Key Scramblerって
-
ソースネクストアプリをインス...
-
Enterキー左横上のキーの小さい...
-
スカイプでひらがな入力が使え...
-
PS3 キーボード 「かな入力」 ...
おすすめ情報