[[20180307171440]] 『母音のみ抜き出す方法教えてください』(1216) ページの最後に飛ぶ

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

 

『母音のみ抜き出す方法教えてください』(1216)

例えばA1に ちゃーじゅーめん と入力したら
A2に ああううえん と出力するにはどうすればいいですか?

< 使用 Excel:Excel2016、使用 OS:Windows10 >


一文字ずつ 1セルに分解して

母音表を作って
vlookupで抽出して

最後 個々のセルの値を合成する

これぐらいしか  思いつきません
(++) 2018/03/07(水) 17:56


ありがとうございます!
1セルずつ入力きついですね

結合したら右上の文字だけになったのですが結合と合成って違うんですかね?
(1216) 2018/03/07(水) 19:43


完璧に思いついたわけではないですけど、ちょっと調べてみたところ、文字列をローマ字に変換するアドインがあるみたいです。
そのアドインが使ってローマ字に変換できてるのが前提ですが
ASC関数、LOWER関数で半角小文字に変換したものから、なんかの関数をかませて、{a,i,u,e,o}に該当する部分だけ抽出ってことが出来ればいけそうな気がしますが、ぱっと思いつかないですね。

↑が成功すれば、SUBSTITUTE関数でa→あ、i→い...って置換すればいいとは思います。

ちなみに、2018/03/07(水) 19:43のご質問は、文字列結合じゃなくてセル結合してるのでは?右上ってのがよくわからないですけど・・・

(もこな2) 2018/03/07(水) 21:12


 ローマ字に変換については、この板でも質問がいくつかありました。

 私が関与したものもあります。
       ↓
[[20111021184803]] 
 >『カタカナをアルファベット小文字に変換』(miyafire)

 そこで、質問者が最後に置き土産してくれています。

 それを流用して、「ん」と「ー」の処理を何とか工夫すれば出来そう。

(半平太) 2018/03/07(水) 22:33


 miyafireさんの kanaをコピーして使わせてもらうとして、
 下記Function ConvS()を追加貼り付け。

 所要セルに以下の数式を入力する。
 B1セル =convs(PHONETIC(A1))

 (重要)フリガナの設定で、フリガナはカタカナになる様にしておく必要があります。

 <結果図>
  行  ________A________  _________B_________
   1  ちゃーじゅーめん   ああううえん       
   2  おーい舟方さん     おおいうああああん 

 Function ConvS(ByVal Arg As String)
     Dim aStr As String
     Dim arg2 As String
     Dim sPOS As Long, POS As Long
     Dim buf As String
     Dim preV As String

     arg2 = Replace(Arg, "ン", "#")
     arg2 = kana(arg2)

     For sPOS = 1 To Len(arg2)
         aStr = Mid(arg2, sPOS, 1)

         If aStr = "ー" Then
             aStr = preV
         End If

         POS = InStr("aeiou#", aStr)

         If POS Then
             preV = aStr
         End If

         If POS Then
             buf = buf & Mid("あえいおうん", POS, 1)
         End If
     Next

     ConvS = buf
 End Function

(半平太) 2018/03/07(水) 23:23


半平太さんありがとうございます!
今から試してみます!

もこなさんの言ってたヘボン式使ってみました
んーっがかなり厄介だったけどsubstitueをめっちゃ使ってなんとか行けました…
ヘボン式はhebon(対象セル,2,1)が使いやすかったです
(1216) 2018/03/07(水) 23:52


半平太さんマクロ始めて使ったけどめっちゃ早いですね(コピペしたからだけど)
少しマクロの勉強しようと思います!

質問なのですが「っ」は表示できるんですかね?
Function kana(txta As String)にFunction ConvS(ByVal Arg As String)を追加したんですけどあってますか?

(1216) 2018/03/08(木) 00:27


バグかわかりませんが
あが表示されなかったです

(1216) 2018/03/08(木) 08:33


 >バグかわかりませんが 
 >あが表示されなかったです

 私の方のバグです m(__)m

 文字列の頭が母音だと、大文字になっちゃうのでヒットしなかったです。

 >     arg2 = kana(arg2)
           ↓ 変更
       arg2 = LCase(kana(arg2)) 

 <結果図>
 行  ________A________  __________B__________
  1  ちゃーじゅーめん   ああううえん         
  2  おーーい船方さん   おおおいうああああん 
  3  半平太             あんえいあ           
  4  あ                 あ                   
  5  っ                 う                   

(半平太) 2018/03/08(木) 09:02


今忙しいので帰ったら確認してみます
早急な対応ありがとうございます!
(1216) 2018/03/08(木) 10:39

コメント返信:

[ 一覧(最新更新順) ]


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