• ベストアンサー

名簿の漢字名を関数で半角カナ文字にすることは可能でしょうか?

質問タイトルとおりですが。。。。 エクセルで名簿の名前に、半角カナ文字をふりたいのですが データが1万件以上あるので、非常に手間がかかります。 もし、関数で変換できる方法がありましたら、ぜひご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • osi_nari
  • ベストアンサー率43% (193/441)
回答No.2

Excel2002の場合でお答えします。 そのものズバリ、「phonetic」という関数があります。 この関数は全角なら全角でフリガナを表示しますので、 半角のフリガナにするには「ASC」という関数と合体 (入れ子構造)します。 使い方としては、例えばA列に名前が入っていて、 B列にふりがなを表示させたい場合、 B1に「=ASC(PHONETIC(A1))」と入力します。 ただし、この関数は、「入力したときの変換前の読み」 を表示しますので、例えば「六本木」と書いてあっても・・・ 「ろっぽんぎ」と入力→変換→「六本木」と確定 した場合は「ロッポンギ」と表示されますが、 「ろく」と入力→変換→「六」で確定 「もと」と入力→変換→「本」で確定 「き」と入力→変換→「木」で確定 した場合には、「ロクモトキ」と表示されます。 また、他のデータ(テキストやCSVなど)からインポート したものは、ふりがな情報が入っていないことがあります。 その場合は、もとの漢字が表示されてしまいます。 こういった状態のデータが含まれる場合、50音順の並び替えがうまく出来ない、などのトラブルが発生するもとになりますので、ふりがな情報を編集してやる必要があります。 ※ご存知かも知れませんが、ふりがな編集の方法↓ 編集したいセルを選択した状態で、メニューバーの 「書式」→「ふりがな」→「編集」で編集できます。 ショートカットキーは、Alt+Shift+↑です。

その他の回答 (4)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんばんは。 #1 さんの >=ASC(PHONETIC(名前のセル番地)) で取れないのだから、一つずつセルから、ふりがなデータをAlt + Shift + ↑で呼び出すか、#4 さんのような、VBA を使って行うしかないと思います。 ただ、#4 さんで行った場合は、1万件などとなると、後で、説明にあるように、コピー、値-貼り付けで定数化しないと、シートが重くなってしまいます。そこで、最初から定数化させるマクロを掲示しておきます。こちらは、おまけですから、別に、先の方で解決するようでしたら、これは試す必要はありません。 '標準モジュールが良い '----------------------------- '標準モジュールが良い Sub FuriganaMarco()  Dim i As Long  Dim iCol As Integer  Const ACOL As String = "B" 'どこの列に出力?  Application.ScreenUpdating = False    With Range("A1:A10000")  '範囲は?     iCol = Columns(ACOL).Column   For i = 1 To .Rows.Count    If .Cells(i, 1).Value <> "" And VarType(.Cells(i, 1)) = vbString Then     Cells(i, iCol).Value = GetFurigana(.Cells(i, 1))    End If   Next i  End With  Application.ScreenUpdating = True End Sub Function GetFurigana(rng As Range) 'If IsEmpty(rng) Then Exit Function '単独で使う時には、上記のコメントブロックを外す If rng.Phonetic.Text = rng.Value Then   If Application.GetPhonetic(rng) <> "" Then    GetFurigana = StrConv(Application.GetPhonetic(rng), vbNarrow)   Else    GetFurigana = rng.Value   End If Else   GetFurigana = StrConv(WorksheetFunction.Phonetic(rng), vbNarrow) End If End Function '----------------------------- なお、これは、IMEの変換の記憶によって出されるものですから、MS-IMEがあるということが条件であることと、IMEの変換順序の第一番目以外のものに対しては、このようなマクロでは出てきません。また、一部の漢字の中には、ふりがなを持たないものがあったと思います。それには対応できません。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.4

VBAを使っていいなら 1. Alt+F11でVisualBasicEditorを起動 2. 「挿入」「標準モジュール」 3. 標準モジュール"Module1"内に下記の記述をコピー Function KANA(MOJI) KANA = StrConv(Application.GetPhonetic(MOJI), vbNarrow) End Function 4. VisualBasicEditorを閉じる。 5. 漢字名のセルの隣で =KANA(漢字名のセル座標) として表示確認 6. 上記のセルをコピーして「形式を選択して貼り付け」で値として貼り付ける。

回答No.3

名前が入っているのがA列として、 (1)A列を選択し、書式メニュー→ふりがな→設定をクリック。 (2)半角カタカナを選択。OK. (3)ふりがなを入れたいセルB1に=PHONETIC(A1)と入力。 (4)B1の数式をB列の他のセルにコピー。 半角カタカナでふりがなが出ます。 ふりがなが違うときは、A列(漢字の方)のセルを選択し、 書式メニュー→ふりがな→編集を選択し、手修正。

  • minarai
  • ベストアンサー率30% (167/540)
回答No.1

漢字の名前が正しい読みで入力できていれば・・・なんですが、 =ASC(PHONETIC(名前のセル番地)) で可能です。

yuhta
質問者

補足

回答ありがとうございます。 やってみましたが、、、、漢字がそのまま表記されました。 質問がわるかったのかもしれません。 関数を入れるセルには「カタカナ」を表示させたいのです・・・。 もしわかればご教授ください。