[[20030304200739]] 『全角ひらがなを半角カタカナにするには』(くじら) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『全角ひらがなを半角カタカナにするには』(くじら)

全角ひらがなを、半角カタカナにするにはどうしたら良いでしょう?

全角⇔半角はASC、JISを使うと思いますが、

ひらがなからカタカナの場合はどうすればできるか、教えてください★

例・ あいうえお→アイウエオ 


 全角カタカナ⇔半角カタカナ変換のASC関数、JIS関数はありますが

 全角ひらがなを半角カタカナにするには無理があるようです。

ひらがなの「あいうえお」のCODE配列は「あぃいぅうぇえぉお」

全角カタカナ「アイウエオ」のCODE配列は「アィイゥウェエォオ」

半角カタカナ「アイウエオ」のCODE配列は「アイウエオカキクケ」です。

関数で無理やりA1の「あいうえお」→「アイウエオ」にするには

 =CHAR(CODE(LEFT(A1,1))+256)&CHAR(CODE(MID(A1,2,1))+256)&CHAR(CODE(MID(A1,3,1))+256)&CHAR(CODE(MID(A1,4,1))+256)&CHAR(CODE(MID(A1,5,1))+256)

「あいうえお」→「半角アイウエオ」にするつもりで

 =CHAR(CODE(LEFT(A1,1))-9073)&CHAR(CODE(MID(A1,2,1))-9073)&CHAR(CODE(MID(A1,3,1))-9073)&CHAR(CODE(MID(A1,4,1))-9073)&CHAR(CODE(MID(A1,5,1))-9073)

とすると結果は「アウオキケ」になります。

ひらがな⇔全角カタカナは互換性があるためユーザー関数を作ることが可能だと思います。

手動操作でよければ

@ひらがなを全角カタカナ、半角カタカナに変換するには

・セルをダブルっクリックし編集状態にします。

・HOMEキーでカーソルを先頭に移動します。

・ShiftとEndキーで文字列選択(反転)します。(文字列をなすってもよい)

・右クリックメニューの「再変換」で選択します。

A入力時であれば、ひらがな入力後[F7]で全角カタカナ、[F6]で半角カタカナ、

・[F9]で関数のLOWER関数→UPPER関数→PROPER関数の順に英数文字変換できます。

kazuさん説明の中に吃音の文字がありますが、これは半角仮名の反則にはならないでしょうか?

できれば、希望として、どなたかユーザー関数を紹介してあげて下さい。

 (シニア)


 ↓はひらがなを全角カタカナに変換するやつです。

 Function ASC2(adr As Range) As String

    Dim buf As String

    For n = 1 To Len(adr.Value)

        Select Case Asc(Mid(adr.Value, n, 1))

            Case -32421

                buf = buf & Mid(adr.Value, n, 1)

            Case Is >= -32034

                buf = buf & Chr(Asc(Mid(adr.Value, n, 1)) + 162)

            Case Else

                buf = buf & Chr(Asc(Mid(adr.Value, n, 1)) + 161)

        End Select

    Next n

    ASC2 = buf

 End Function

 A1に やったーまん と入れて

 =asc(asc2(a1)) とかすれば、OKです。 多分(汗)。

 (ramrun)


 昔は半角カタカナが原因でサーバーが落ちたりしていたと聞いています。

 Webページでは文字化けが発生する要因となります。

 半角カタカナは基本的に困るのですが、このへんの話になると、

 全角に直してしまうとわけがわからなくなるので、あきらめています。

 きるだけ早くCGIで変換してしまう方法にしたいと思っています。

 (kazu)


 ramrumさん

 早速ひらがなをカタカナに変換するユーザー関数の紹介有難う御座います。

更に、ASC関数で半角カタカナに変換する方法を案内されていますので、

くじらさんの要望が一挙に解決されて、喜ばれることと思います。

 (シニア)

変換前のひらがなの中にアルファベットや数字が混在するときはどうしたらいいですか?
あいう1→アイウ1 or あいうR→アイウRとしたいです。

[[20100928100605]] 『全角ひらがなから半角カタカナへ』(washin)

 にて新規に質問をしなおしています。
 (独覚)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.