- ベストアンサー
ローマ字→カタカナへ変換(エクセルで)
例 KOIZUMI→コイズミ ローマ字表記の氏名を カタカナ表記へ変換したい。 良い手手立ては あるでしょうか。 教えて下さい。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 これは、ユーザー定義関数というもので、標準モジュールに書くのは、もう既にお分かりになっているかと思います。そして、標準モジュールに貼り付けた後は、一般の関数と同じように使えます。(ただし、貼り付けたブックのみです) ですから、この中身のコードは忘れてください。 【http://park11.wakwak.com/~miko/Excel_Note/15-03_celldata.htm#15-03-57】 ワークシートで使うときには、一般の関数のように、セル上に、 A1 に、ローマ字が入っているとしたら、 =roma2kana(A1) だけで、よいのです。そうすると、カタカナになるように設定されています。 >◆私が何か勘違いしていること有るのだろうかと思ったりしています。 ご期待とは違うものであったりしませんか?その点は、大丈夫ですか?
その他の回答 (7)
- Wendy02
- ベストアンサー率57% (3570/6232)
#3 のWendy02 です。 >◆結果は満足ですが、「ひらがな」が出力されます。 >「カタカナ」を出力させる場合は何処を正せばいいのでしょうか? それはヘンですね。コードを点検してみましたが、標準では、ひらがなにはなりません。 A1: ROMA = roma2kana(A1) と、標準で入れれば、上記のようにすれば、カタカナになります。 もし、ひらがなにするには、 = roma2kana(A1,False ) として、初めて、ひらがなになります。
補足
>A1: ROMA >= roma2kana(A1) ◆Excelノート 15-03 セルのデータ の57 ローマ字(アルファベット)をカタカナに変換するには?【http://park11.wakwak.com/~miko/Excel_Note/15-03_celldata.htm#15-03-57】 ここのコードをチェックしましたが、ご指摘の(上記のコードが見あたりませんが・・・? ◆私が何か勘違いしていること有るのだろうかと思ったりしています。もう一度ご指摘下さい。
- ThunderV2
- ベストアンサー率58% (119/205)
こんにちは、#2,4です。 ご質問の件ですが、ATOKでは無理かもしれないです。 ATOK2005の体験版をダウンロードして試してみたのですが、アルファベット→カタカナの変換ができませんでした。 もしかしたら、他にやり方があるのかもしれないのですが・・・ 一応、再変換は、シフトキー押しながら変換キーを押すと実行されるようなんですけどね。 漢字→アルファベットとかはできたんですが・・・ もし、自力の体力勝負をされるようでしたら、その時だけでもIMEに切り替えるしかなさそうです。 通常、削除しない限りは、日本語入力システムの切り替えでIMEに切り替え可能です。もし、消されてしまっていたら、Windows Updateからダウンロード可能です。
お礼
調査して頂いて感謝申し上げます。 MicrosoftIMEに切替えてみます。
- imogasi
- ベストアンサー率27% (4737/17069)
私の先ほど答えた質問の回答を使えないでしょうかね。 質問NO No.1479198 に回答したが、 このArrayの中を対の順序をずれたり、間違えないようにしてやってみるとどうでしょうか。 名前のように短い語句のようなものなら、少々の人手の修正ですむかも。 やってみる元気がないですが。 その際#1で述べておられる、「a」→「ア」~「o」→「オ」は一番最後にすることです。 の注意は必要です。ほかに、KYAなど長い(文字数の多い)文字列を対応表の先におくことです。 50個もマクロ記録のコードを並べるのは・・・と思って。 KIKUTI キクチ KAKUTI カクチ SASOKI サソキ SAAKOI サアコイ エクセルユーザー関数 Function tokana(a) x = Array("KA", "KI", "KU", "KE", "KO", "SA", "SI", "SU", "SE", "SO", "TI", "A", "I") y = Array("カ", "キ", "ク", "ケ", "コ", "サ", "シ", "ス", "セ", "ソ", "チ", "ア", "イ") z = a For i = 0 To UBound(x) z = Replace(z, x(i), y(i)) Next i tokana = z End Function =TOKANA(A1)のように使います。 上記対応表(配列的並び)は、途中で手抜きになっています、完全にしてください。 まあお遊び程度のものですが。
お礼
うーん 頑張り 根性 習熟 訓練・・・に挑戦したいですね。
- ThunderV2
- ベストアンサー率58% (119/205)
こんにちは、#2です。 先ほどのアドバイスでも書いてある通りで、日本語入力システムは、「ATOK」じゃなく、「IME2000」なんですよ。 自宅じゃ、ATOK使ってるんですけどね。ATOK15だから、何とも言えないです。最新のATOKなら、再変換機能があったような気もしますが・・・ IMEは、標準で入っている日本語入力システムなので、切り替えれば使えると思います。 タスクバーを確認してみてくださいね。 でも、体調勝負で5000行、なんとかなるデータ量かもしれませんが、マクロ(VBA)使った方が、間違いなく楽ちんだと思います。
お礼
ソウですね!体力勝負では前進しないですね。 でも ローマ字→カタカナ変換 ATOCで出来るように探索します。
補足
ATOKで出来ないわけないですよね。 調べてみます。
- Wendy02
- ベストアンサー率57% (3570/6232)
一応、VBAでしかできないと思います。 以下のものを使ってみたらいかがですか? ローマ字(アルファベット)をカタカナに変換するには? http://park11.wakwak.com/~miko/Excel_Note/15-03_celldata.htm#15-03-57
お礼
VBAの 出来合いがあったんですね。 ご紹介頂いて感謝です。 さっそくテストします。
補足
参考URLを、試しました。(ユーザー定義関数(標準モジュール)) ◆結果は満足ですが、「ひらがな」が出力されます。 「カタカナ」を出力させる場合は何処を正せばいいのでしょうか?
- ThunderV2
- ベストアンサー率58% (119/205)
こんにちは。 手動でのやり方ですが・・・ [KOIZUMI]が入力されてるセルをダブルクリックして、セル内にカーソルが点滅するのを確認してください。 もしくは、セルを選択後、F2(ファンクション)キーを押して下さい。 次にKOIZUMIをマウスでドラッグして色を反転させてください。 最後に変換キーを押せば再変換できると思いますので、ここで、F7キーもしくは、カタカナの「コイズミ」を選択してください。 確認したバージョンは、EXCEL2000:IME2000です。 一括で更に自動でと言うことなら、#1さんの言うようにマクロ作成するしかないと思います。
お礼
>最後に変換キー・・・ 変換候補は アルファベットの綴りリスト(大・小、全・半お組み合わせ)6例だけです。カタカナは 出ません。「ATOK」だからだろうか? 又は 設定が悪いのだろうか? この回答 5000例ぐらいは 体力勝負で行けます。
- Kikis
- ベストアンサー率44% (125/282)
入力済みのエクセルデータを自動的に変換したいということですよね? 私の思いつくのは KO → コ のように50音を置換させるマクロを作ることくらいなんですが・・・。 対象のシートを開いておいて(必ずバックアップはとっておいてください) 最初に、ツール>マクロ>新しいマクロの記録 を選択しておきます。 新しいマクロに適当な名前をつけてOKを押すと、マクロ記録ボタンが出ます。 次に、編集>置換 で 検索する文字列 KO 置換する文字列 コ を入力し、「全て置換」を押します。 マクロ記録ボタンの「停止」を押します。 ツール>マクロ>マクロ でさっき記録したマクロを編集します。 新しい画面に出る ActiveCell.Replace What:="KO", Replacement:="コ", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False をコピーして、End Subの前に50回分ペーストします。 「KO」「コ」のところを50音に手で変えます。 気を付けるのは、KAから始めて 「a」→「ア」~「o」→「オ」は一番最後にすることです。 そうしないとうまく置換できなくなります(「Kア」など) 置換しなきゃならないデータ量が多ければお勧めします。
お礼
20例やってみました。 素晴らしい出来映え。 データ数5000です。 頑張って母音 拗音等も完璧に出来るように挑戦してみます。 (マクロは大文字 小文字 半角 全角を統一する集中力が必要だけれど…)
お礼
完璧に多量のデータをカタカナに変換できました。 ◆一般の関数と同じように、任意のブックで使用できるように出来るのでしょうか。