• ベストアンサー

かなで書かれた文字をアルファベットに変換できませんか?

エクセルででも、なんででもいいのですが、かなで書かれた文字をアルファベットに一度に変換できないでしょうか? たとえば、エクセルの関数phonetic を使えば、漢字を仮名に変換できますよね? それと同じように、仮名をアルファベットに変換する方法はないでしょうか? もし、そんな便利なことができたら、とってもうれしいのですが。。 よろしくお願いいたします。m(__)m

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

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.5

以前、似た質問に回答しました。 No.806286 質問:Excelで五十音順に並べ替えたい http://oshiete1.goo.ne.jp/kotaeru.php3?q=806286 No.8の手順3)で、 kakasi -Kj -Jj を実行すると、 (株)アイウエオ (株)イノウエ (株)ウラシマ (株)阿部商店 (株)石井商店 (有)アイウエオ ↓ (kabu)aiueo (kabu)inoue (kabu)urashima (kabu)abeshouten (kabu)ishiishouten (ari)aiueo と変換できました。

参考URL:
http://kakasi.namazu.org/, http://oshiete1.goo.ne.jp/kotaeru.php3?q=806286
maimai01
質問者

お礼

わぁ、kakasiって、すごいですね。ありがとうございます。早速インストールしてみました。c:\kakasiにインストールしてみました。そして、おっしゃるようにやってみたら、できました。できました。おっしゃるとおりに、excelの一列全部をコピーして、エディターにはりつけて、それをtest.txtという名前で、C:\kakasi\binの中に保存、そして、コマンドプロンプトから、kakasi -Kj -Jj < test.txt > out.txtを実行したら、うまくいきました。ありがとうございました~。 ただ、kakasi -Kj -Jjなどのコマンドのオプションがどこを見たらわかるのか、見つけられませんでした。探し方が悪いのだと思いますが、教えていただけるとうれしいです。よろしくお願いします。 ほんとに、ありがとうございました~。m(__)mm(__)m

その他の回答 (5)

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.6

No.5です。 DOSコマンドのようなプログラムは「/?」「-help」などで簡易ヘルプが表示されるお約束になっています。 kakasiの場合は、 kakasi -? です。(英語です) 使いこなすにはDOSの知識が必要になります…。 ちなみに、 kakasi -Kj -Jj は、「カタカナ→ローマ字」「漢字→ローマ字」でこの後に指定するものを変換してね。というオプションです。 その後何もつけずにコマンドを実行すると、標準入力(画面)から入力できる状態になって、Ctrl+Z(終了)を入力するか、Ctrl+Cで中断するまで、入力した文字を変換し続けます。 -- その他のファイルreadmeや、docのフォルダにも説明書がありますが、プログラム関係の話が多いです。

maimai01
質問者

お礼

neKo_deuxさま、何度もありがとうございます。(^^) なるほどぉ!! kakasi -? で、helpが表示されました。たしかに、DOSの知識がないと、しんどいですね。DOSは、ほぉんの少しだけわかります。neKo_deuxさんの例示のおかげで、カタカナ→ローマ字、漢字→ローマ字の出力のさせかただけはわかりました。とっても助かりました。ありがとうございました。 でも、このkakasiというプログラムはおもしろいですね。これを使って文字の読み上げなど、いろいろなプログラムが作られてて、楽しくなりますね。(^^) docフォルダーにはいっているファイルはテキストファイルではないので、エディターで開いてみても読めない物が多いみたいですね。あ、でも、ほんと、助かりました。ありがとうございました~~~。(^^)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

エクセルの関数で出来ないかというお考えのようですが、 「2文字以上の」カナ語句をアルファベット(ローマ字)に変換する関数(ユーザーがプログラムを書くユーザー関数は別にして)はありません。 VBAというプログラムを組めば、お望みのものに近いものが 個人でも出来そうに思います。 過去にも似た質問をOKWEBで見ました。 1文字だけならVLOOKUP関数で出来ます。カナアルファベット対応表作りが少し面倒ですが。 それを文字数だけ繰り返すことをやれば良いように思います。ただ2文字に係わる、半角の濁点や、「きゃ」「って」が「KYA」「TTE」になるようなことなど、細部でプログラムが複雑になる要素があります。

maimai01
質問者

お礼

こんにちは。このまえは、確かアクセスの質問で助けていただきましたね。ありがとうございました。 今回の質問なのですが。。そうですね。そういう関数はないのですね。 ここに質問を書いたあとで、もう一度ここの過去ログを検索していたら、http://oshiete1.goo.ne.jp/kotaeru.php3?q=178906 という問答を見つけました。 これは、ローマ字をかなに変えるVBAなのですが、同じように考えて、作っていけば、かなをローマ字に変えるVBAも作れるのでしょうね。 わたしにできるかどうかわからないけど、ちょっと挑戦してみたいと思います。 ありがとうございました。(^^)

  • sanpin-cha
  • ベストアンサー率48% (533/1095)
回答No.3

関数は使いませんが、 1)ワードまたはエクセルで、ひらがなの部分を再度選択します。(黒く反転させる) 2)変換キーを押す 3)複数の文節に分かれる 4)シフトキーを押しながら → キーを押し文末まで 5)半角ならF10、全角ならF9を押す。(大文字、小文字は複数回押す)

maimai01
質問者

お礼

回答をありがとうございます。そうですねぇ。そういう方法も考えたのですが、なにしろ、変換したいものが、たとえばE列の1000マス分くらいあるので、やっぱり関数かVBAあたりで、できないと苦しいのです。すみません。最初にもっとやりたいことをわかりやすく説明しておくべきでした。m(__)m また、お知恵を貸してくださいね。 ありがとうございました。m(__)m

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.2

もう一例。 F2セルに =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E2,"ア","A"),"イ","I"),"ウ","U"),"エ","E"),"オ","O") と入れ、E2セルに「アエオ」と入れると、F2セルに「AEO」と表示されます。 頑張ってください(^o^)丿

maimai01
質問者

お礼

substituteって、便利な関数なのですね。なるほど、これならできるかも!! と思ってとりあえず、=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E2,"ア","a"),"イ","i"),"ウ","u"),"エ","e"),"オ","o"),"カ","ka"),"キ","ki"),"ク","ku"),"ケ","ke"),"コ","kko"),"サ","sa"),"シ","si"),"ス","su"),"セ","se"),"ソ","so"),"タ","ta"),"チ","ti"),"ツ","tu"),"テ","te"),"ト","to"),"ナ","na"),"ニ","ni"),"ヌ","nu"),"ネ","ne"),"ノ","no"),"ハ","ha"),"ヒ","hi"),"フ","fu"),"ヘ","he"),"ホ","ho") というのを作ってみたのですが。。セルに表示できる文字数は決まってるみたいですね。うまくいきませんでした。 いろいろつきあってくださってありがとうございます。m(__)m

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

EXCELの例です。 A1~A10にア、イ、ウ、エ、オ、カ、キ、ク、ケ、コ B1~B10にA、I、U、E、O、KA、KI、KU、KE、KO と入れ、D1に「=VLOOKUP(C1,A:B,2,0)」と入れ、 C1に「カ」と入れると、D1に「KA」と表示します。 頑張ってください(^o^)丿

maimai01
質問者

お礼

早速の回答、ありがとうございます。なるほど、その方法だと、一文字ずつの仮名に対してはアルファベットに変換することができますね。(^^) でも、でも。。わたしがやりたいのは、たとえば、C1に、アルファベットと入力してあるものを、D1に、arufabettoと、表示させたいのです。 そういう関数はないようなのですが。。そんなことは、できない相談なのでしょうか? 漢字を仮名にしてくれる関数があるのだから、仮名をアルファベットにする方法があってもふしぎではない気がするのですが。。(^^;

関連するQ&A

専門家に質問してみよう