アプリ版:「スタンプのみでお礼する」機能のリリースについて

Accessでは、strConv関数で、カタカナをひらがなに変更できたりするのですが、Excelではそんな関数ありますか?
おわかりの方よろしくお願いいたします。

A 回答 (10件)

#2,3,5です。



imogasiさんにつられて、ついつい一文字ずつの処理にしてしまいましたが、
taisuke555さんのご指摘のとおり、文字列をそのまま渡しても問題ないですね。

まとめるとこういう感じになりますかね。


Option Explicit
Function fxStrConv(strText As String) As String
 strText = StrConv(strText, vbKatakana)
 fxStrConv = strText
End Function
    • good
    • 0

#2,3,5,9です。


たびたびすいません。

また誤回答してしまいました。
すいません。

カタカナ→ひらがなであれば、
vbKatakanaではなくてvbHiraganaですね。
訂正します。
    • good
    • 0

#1です。


>ふりがなではなく、すでにカタカナとして入力された文字を、ひらがなに変換する方法を知りたかったのです。

それ、PHONETICで出来てます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
PHONETIC関数では、漢字やひらがなもすべてひらがな(振り仮名をひらがなにした場合)になってしまいます。
一応、カタカナの部分だけをかなにする方法を知りたかったのですが。(漢字等はそのまま)
でも、すべてカタカナのセルには有効なので、活用させていただきます。

お礼日時:2003/06/27 18:04

#6のご指摘に対し、


複数文字の中の漢字と(私の場合は)ひらがなをより分けるために1文字ずつ判別しましたが、漢字+ひらがなの文字列の中のひらがなだけをカタカナに直してくれるようであれば、結構なことです。
Sub test01()
For i = 1 To 3
Cells(i, "B") = StrConv(Cells(i, "A"), 16)
Next i
End Sub
で少数例のテストですが、うまく行くようです。
こちらの方が簡単ですね。ありがとうございました。
    • good
    • 0

imogasiさん、happypointさんへ



Strconvは1文字ずつ変換しなくても良いと思いましたが、
その辺どうでしょうか?

私も考えてみたのですが、VBAしか思いつかず、
突っ込みのみですみません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
私もAccessで使う場合は、1文字ずつの変換やVBAを使わず、更新クエリーで、strConv([フィールド名],vbHiragana)で指定して、ひらがなに変更していましたので、文字列でもいいような気がします。
それに、strConv関数の場合、変換できないものは(漢字とか最初からひらがな)、そのままだった気がしますが。
とっても便利な関数だなと思っていましたので、Excelでもワークシート関数に入れてほしいものです。

お礼日時:2003/06/27 06:06

#2,3です。


どうせやるなら、ユーザー関数で、というわけで。
VBAを使用しております。

セルに
 =fxStrConv(B1)
これはB1をひらがなに変換した文字列を返す関数になります。


Option Explicit
Function fxStrConv(strText As String) As String

Dim i As Long
Dim strResult As String

For i = 1 To Len(strText)
 strResult = strResult & StrConv(Mid(strText, i, 1), 32)
Next i

fxStrConv = strResult
End Function
    • good
    • 0
この回答へのお礼

ありがとうございます。
私はstrConv関数の引数をvbKatakanaで指定していましたが、32のことみたいですね。勉強になりました。

お礼日時:2003/06/27 06:00

セル単位でひらがな文字をカタカナに変換します。


漢字交じり分もOK。
ひらがな文の入っているセルの対応行の、C列に
出していますが、"h"とすれば、H列にセットします。
変換したいセルを範囲指定して、その後実行してください。
結果としてエクセル2000VBAでもStrConvは使えました。
StrConvの第二引数の「16」を色々変えると、他の変換パターンの変換が可能です。
Sub test03()
Dim cl As Range
For Each cl In Selection
s = ""
For i = 1 To Len(cl)
s = s & StrConv(Mid(cl, i, 1), 16)
Next i
Cells(cl.Row, "C") = s
n = n + 1
Next
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
strConv関数はExcelでも使えたのですか。
ワークシート関数になかっただけなんですね。
もし、AccessのstrConv関数と同じなら、taisuke555さんのいう通り、文字列でも変換可能だと思います。
ExcelのVBAはよくわからないところがありますので、上のプログラムを参考に勉強してみます。

お礼日時:2003/06/27 05:50

#2です。



逆を答えてました。カタカナをひらがなに直すには
 =CHAR(CODE(A1)-256)
です。
    • good
    • 0
この回答へのお礼

ありがとうございます。
実際に試していないのですが、上の関数ですと、ひょっとして、セル内は必ずカタカナでないといけないという前提ですよね。他の漢字・ひらがなが入っていると、まずいですよね。
とすると、IF関数と組み合わせて、セル内がカタカナかを判定してから実行した方がいいような気がします。
ちょっと贅沢ですが、カタカナ(文字コードの範囲)の判定ができるとうれしいんですが。

お礼日時:2003/06/27 05:44

こんばんわ。



変換する文字が一文字ずつセルに入っているなら
 =CHAR(CODE(A1)+256)
でA1に入ったひらがなをカタカナに変換できます。

セルに複数のひらがなが入っている場合に、
セル単位で変換する関数は知りません。

VBAを駆使したユーザー関数の出番です。
    • good
    • 0

=PHONETIC(A1)


単に振り仮名を振る関数です。
で「かな」か「カナ」にする設定は
書式→振り仮名→設定
で設定した内容が、設定の後からのみ有効になります。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ただ、ふりがなではなく、すでにカタカナとして入力された文字を、ひらがなに変換する方法を知りたかったのです。
CSV形式で送られたデータで、すでにカタカナで振り仮名が入力されていたファイルの場合です。
Accessなら更新クエリーでstrConv関数を使って変換できるのですが。

お礼日時:2003/06/27 05:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!