重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

よろしくお願いします

エクセルの関数に詳しい方、教えてください。

小文字のひらがなだけを小文字のカタカナに変換できますか?量がたくさんあり困っています。

下記のように変換したいです。

しぇいぷ  →しェいぷ

ふぃぎゅあ →ふィぎュあ

まてぃありある →まてィありある


よろしくお願いします

A 回答 (4件)

こんにちは!


お望みの関数ではなく、VBAになってしまいますが
一例です。

↓の画像のようにSheet2に表を作成しておきます。
その上で画面左下のSheet1のSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() 'この行から
Dim i As Long, k As Long, str As String, buf As String, c As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
For k = 1 To Len(Cells(i, "A"))
str = Mid(Cells(i, "A"), k, 1)
Set c = wS.Range("A:A").Find(what:=str, LookIn:=xlValues, lookat:=xlWhole)
If c Is Nothing Then
buf = buf & str
Else
buf = buf & c.Offset(, 1)
End If
Next k
Cells(i, "B") = buf
buf = ""
Next i
End Sub 'この行まで

※ 関数でないのでSheet1のデータ変更があるたびにマクロを実行する必要があります。m(_ _)m
「エクセルの関数に詳しい方、教えてください」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございます
感謝します

お礼日時:2013/08/31 20:55

Excel のバージョンが 2003 以下向けの数式


B1: =SUBSTITUTE(SUBSTITUTE(A1,"ぁ","ァ"),"ぃ","ィ")
C1: =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B1,"ぅ","ゥ"),"ぅ","ゥ"),"ぇ","ェ"),"ぉ","ォ"),"っ","ッ"),"ゃ","ャ"),"ゅ","ュ"),"ょ","ョ")
「エクセルの関数に詳しい方、教えてください」の回答画像4
    • good
    • 0
この回答へのお礼

ありがとうございます
感謝します

お礼日時:2013/08/31 20:54

エクセルのバージョンによっては関数のネスト数オーバになりそうなのでユーザ定義関数は如何でしょうか。


シートタブ上で右クリック→コードの表示→挿入→標準モジュール→サンプルコード貼り付けてお試しください。
数式は、=IF(A1<>"",mykana(A1),"")

Function mykana(rng)
Dim wk, m
With CreateObject("VBScript.RegExp")
.Pattern = "[ぁ-ぉ]+|[ゃ-ょ]+|っ+"
.IgnoreCase = True
.Global = True
wk = rng
For Each m In .Execute(wk)
wk = Replace(wk, m, StrConv(m, vbKatakana))
Next
mykana = wk
End With
End Function
    • good
    • 0
この回答へのお礼

ありがとうございます
感謝します

お礼日時:2013/08/31 20:55

元の文字列がA1セルにあるとして



=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"ぁ","ァ"),"ぃ","ィ"),"ぅ","ゥ"),"ぇ","ェ"),"ぉ","ォ"),"っ","ッ"),"ゃ","ャ"),"ゅ","ュ"),"ょ","ョ")

こんな感じでどうぞ。




多分、置換機能を使ってやる方がわかりやすいです。
    • good
    • 0
この回答へのお礼

ありがとうございます
感謝します

お礼日時:2013/08/31 20:56

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