マルシェル新規登録で5000円分当たる

エクセルで入力した文字(漢字、ひらがな、カタカナが混在)を一文字づつ分離したいのですが、濁点がある場合も一文字として表示させたいのですがどうしたらいいでしょうか?

例:「つくば市のガム」→「つ」「く」「は」「"」「市」「の」「カ」「"」「ム」

漢字、ひらがな、カタカナが混在ではむりなのでしょうか?
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

A1 つくば市のガム


B1 =asc(a1)
C1 =substitute(substitute(substitute(substitute(substitute(substitute(substitute(substitute(substitute(substitute(substitute(substitute(substitute(substitute(substitute(substitute(substitute(substitute(substitute(substitute(B1,"が","か゛"),"ぎ","き゛"),"ぐ","く゛"),"げ","け゛"),"ご","こ゛"),"ざ","さ゛"),"じ","し゛"),"ず","す゛"),"ぜ","せ゛"),"ぞ","そ゛"),"だ","た゛"),"ぢ","ち゛"),"づ","つ゛"),"で","て゛"),"ど","と゛"),"ば","は゛"),"び","ひ゛"),"ぶ","ふ゛"),"べ","へ゛"),"ぼ","ほ゛")
D1 =jis(mid($C1,columns($D1:d1),1))

D1 セルを右方向に、10 列とか 15 列とか、適当な列数だけドラッグ。
    • good
    • 3
この回答へのお礼

回答有り難う御座います。
助かりました。

お礼日時:2013/10/14 06:18

回答としては、質問者さんの望んでいるものではないと思いますが、関数で処理は、今の私では、解く気持ちも起こりません。

それで、マクロをと考えてみましたが、こちらも、Excelを、かなり遠ざかっているので、お粗末なコードになってしまいました。

マクロの考え方は、半角カタカナにすると、半濁点・濁点は分離するので、一旦半角にして、そこから、濁点のない文字を取り出し、元が、かな・カタカナのどちらかで、分岐させて、元に戻すという考え方です。ただし、半角の濁点・半濁点は、元に戻りませんでした。出力は、縦でも横でも可能です。現行では、横に出力しています。


'//標準モジュール登録

Sub Test1()
Dim moji As String
Dim ret As Variant
 moji = ActiveCell.Value 'アクティブセルの文字を格納
 If moji = "" Then Exit Sub
 ret = SplitChars(moji)
 ActiveCell.Offset(, 1).Resize(, UBound(ret) + 1).Value = ret '右側のセルに分配
End Sub

Function SplitChars(moji As String)
 Dim i As Long, j As Long
 Dim a As String, b As String, s As String
 Dim buf1 As String
 Dim buf2 As String
 Dim aChars() As Variant
 For i = 1 To Len(moji)
  buf1 = StrConv(Mid(moji, i, 1), vbKatakana + vbNarrow) '半角に
  If Len(buf1) = 2 Then
   j = j + 1
   ReDim Preserve aChars(j)
   a = Mid(buf1, 1, 1)
   b = Mid(buf1, 2, 1)
   If StrComp(b, "゜", 3) = 0 Then s = "゜"
   If StrComp(b, "゛", 3) = 0 Then s = "゛"
   If Mid(moji, i, 1) Like "[ァ-ン]" Then
    a = StrConv(a, vbWide)
   Else
    a = StrConv(a, vbWide + vbHiragana)
   End If
   aChars(j - 1) = a
   aChars(j) = s
  Else
   ReDim Preserve aChars(j)
   buf2 = Mid(moji, i, 1)
   aChars(j) = Mid(buf2, 1, 1)
  End If
  j = j + 1
 Next i
 SplitChars = aChars()
End Function
'//
    • good
    • 0
この回答へのお礼

回答有り難う御座います。
マクロは知識不足でよくわかりません。
ありがとうございました。

お礼日時:2013/10/14 09:59

>全て全角入力の場合はどのような変換テーブルが必要なのでしょうか?


以下のようなテーブルを作成してVLOOKUP関数で元の文字に該当する濁音、半濁音の1文字を清音と゛、゜の2文字に変換すれば良い。
テーブルをE2:G51に作成して、A1に元の文字列があったとき以下の式をB2へ入力します。
=IFERROR(VLOOKUP(MID(A$1,ROW()-1,1),E:G,2,FALSE),MID(A$1,ROW()-1,1))
C2へは次の式を入力します。
=IFERROR(VLOOKUP(MID(A$1,ROW()-1,1),E:G,3,FALSE),"")
B2セルとC2セルを下へ必要な行数だけコピーすれば貼付画像のような結果が得られます。

がか゛
ぎき゛
ぐく゛
げけ゛
ごこ゛
ざさ゛
じし゛
ずす゛
ぜせ゛
ぞそ゛
だた゛
ぢち゛
づつ゛
でて゛
どと゛
ばは゛
びひ゛
ぶふ゛
べへ゛
ぼほ゛
ぱは゜
ぴひ゜
ぷふ゜
ぺへ゜
ぽほ゜
ガカ゛
ギキ゛
グク゛
ゲケ゛
ゴコ゛
ザサ゛
ジシ゛
ズス゛
ゼセ゛
ゾソ゛
ダタ゛
ヂチ゛
ヅツ゛
デテ゛
ドト゛
バハ゛
ビヒ゛
ブフ゛
べヘ゛
ボホ゛
パハ゜
ピヒ゜
プフ゜
ペヘ゜
ポホ゜
「エクセルにて濁点を分離する方法」の回答画像3
    • good
    • 0
この回答へのお礼

回答有り難う御座います。
参考にさせていただきます。

お礼日時:2013/10/14 06:18

>例:「つくば市のガム」→「つ」「く」「は」「"」「市」「の」「カ」「"」「ム」


全角のカナ文字で濁点、半濁点は分かれていませんので分離するのは如何なものでしょう?

>漢字、ひらがな、カタカナが混在ではむりなのでしょうか?
半角のカタカナは濁点と半濁点が独立していますが、全角のカナ文字(ひらがな、カタカナ)は濁点と半濁点が分離さえていませんので分離したい場合は変換テーブルが必要です。

カタカナの濁点半濁点のみ分離のときは次の式で切り出せます。

=MID(A$1,ROW()-1,1)
=MID(B$1,ROW()-1,1)

B列が半角カタカナ文字の例です。
「エクセルにて濁点を分離する方法」の回答画像1

この回答への補足

全て全角入力の場合はどのような変換テーブルが必要なのでしょうか?

補足日時:2013/10/13 21:09
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで濁点カナの変換方法を教えてください。

全角カナのフィールドがあります。
ここに入っている濁点付きのカナがカナと濁点の2文字で登録されています。

例 ギター → キ゛ター

エクセルでこの濁点文字を全て1文字(全角)に変える方法があったら教えてください。
濁点、半濁点全ての文字が対象です。

excel2000,2003,2007
access2000,2003,2007

よろしくお願いします。

Aベストアンサー

私も置換がよいと思いますが、セル式でやるんならこんな感じでしょうか
=JIS(ASC(A1))

Q濁点だけ打つには?

バは、「BA」でうてますが、濁点だけをキーボード操作で打つにはどのキーを押せばいいのでしょうか?
@を押したら、@になるし、
CTRL+@は、‘になります。

Aベストアンサー

> バは、「BA」でうてますが、濁点だけをキーボード操作で打つにはどのキーを押せばいいのでしょうか?

「だくてん」と入力して、候補文字「濁点」の下の方に、「゛  [全]濁点」と出ていませんか?(出ていなければ、変換を何回も押してみる)

eabscukcさんの、この日本語入力方法は、「ローマ字入力」ですね。
「かな入力」に切替えれば、濁点の「゛」は@のキーで、半濁点の「゜」も@の右側のキーで入力ができます。



> @を押したら、@になるし、
> CTRL+@は、‘になります。

これでは、日本語入力が「ローマ字入力」のために、濁点の「゛」や、半濁点の「゜」は、変換しません。

Qエクセル 文字を1つのセルに1文字ずつ入力した形に変更するには

いつもお世話になります。

エクセルの1セルに、13ケタの商品コードがあります。
これを、別シートのフォーマットにある、13コのセルに1字ずつに分割したいのです。
例えば、"4901234567890"という数値がセルに入力されていて、別シートのA1には"4"A2には"9"、A3には"0"・・・という形です。

同様に、商品名等の情報も、1文字ずつセルに入力していきたいのですが、そのようなことを可能にする技術がありますでしょうか?

以上宜しくお願い致します。

Aベストアンサー

こんにちは。maruru01です。

No.1の方の回答を応用して、
Sheet1のA1のデータを別のシートに分割するとします。
分割の上端のセルに、

=MID(Sheet1!$A$1,ROW(A1),1)

と入力して下へ13桁分コピー

質問欄の内容は、A1、A2、・・・と下の行へ、ということでしたが、もし右へ、ということなら、数式を、
ROW→COLUMN
に変更して下さい。

QExcelの並べ替えで濁点・半濁点の順位について

橋沖と申します。
標記の件、Excelで名簿を作成する時、以下の規則で氏名の並べ替えを実行したいのですが、方法をご教示下さい。

1.漢字の姓名を同じひとつのセルに入力。
2.姓と名の間にスペースを入れふりがなとする。
3.並べ替えオプションで「ふりがなを使用」を選択。
4.並べ替え結果として、同一姓が並ぶようにしたい。

◆現在の不具合状況◆
永井章(ながい あきら)・永井靖(ながい やすし)・中井隆(なかい たかし)を昇順に並べ替えると、永井章・中井隆・永井靖の順になってしまう。
  補足:姓だけのデータなら、中井・永井の順になります。

以上の状況を改善致したく、よろしくお願い致します。

Aベストアンサー

不具合じゃないです、そういう仕様です


対応案の例

A列に1行目から名前が入って並んでいると仮定し
適当に空いている列に
=MID(A1,1,FIND(" ",A1)-1)
として名字だけ抜き出した列を作成

並べ替えの際にその作成した名字だけの列を優先するキーとして並べ替えを行えば
希望どおりの結果が得られます

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで、頭に0をつけて数字の桁を揃える方法

エクセルで、必ず5桁の数字を入れる列があるとします。
ところが、数値データとして最初に作っているので、0が頭になく桁が足りない場合があります。
任意文字として5桁の数字にしたいのですが、

何かいい方法はありませんでしょうか?

例)
A列 A列
50      00050
1000  ⇒  01000
11111    11111

どうぞよろしくお願いいたします。

Aベストアンサー

次の方法は如何でしょうか。
(1)表示だけで良いのならば、セルの書式設定→表示形式→ユーザ定義で00000を設定
(2)データとして必要ならば、空き列(仮にB列)B1に=TEXT(A1,"00000")を入力、下方向にコピー→B列をコピー→A列に形式を選択して貼り付けで「値」を選択→OK、B列を削除

Qエクセルで、いつのセルに入っている7桁の数字をそれぞれ1つづつ、7つのセルに分ける関数はありますか??

こんばんは。大変こちらでお世話になっています。

エクセルのデーターをもとに、宛名印刷をしたくていろいろ試みているのですが、会社規定の封筒の郵便番号枠に、美しく数字を印字することがどうしてもできません。
こうなったら、郵便番号をばらして、1字づつ印刷しようかと思っています。

そこで教えて頂きたいのですが、今1つのセルに入っている郵便番号7桁をそれぞれ1桁づつ、7つのセルに分けたいのです。これは何か関数を使ってできるのでしょうか?
どうぞ教えてください。よろしくお願いします。

Aベストアンサー

MIDという関数が良いかと思います。
A1に対象の値が入っているとして
=MID(A1,xxx,1)
xxxの部分は何桁目から取り出すか、最後の数字が何文字取り出すかという指定です。

例)A1に「abcdefg」とあり
=MID(A1,3,1)
とすると「c」が表示されます。

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。

QEXCEL VBAで全選択範囲の解除

EXCEL VBAで
Cells.Select
と書くと、全セルが選択状態になりますが、
これを解除するには、どう書けばよいのでしょうか?

Aベストアンサー

その1
A1 など、適当なセルを選択する。
(回答#1と同じ)

その2
全選択する前の選択範囲に戻る。

全選択前に
変数 = Selection.Address で記憶

全選択後
Range(変数).Select で元の選択範囲を選択

QエクセルのIF文で「NOT=」はどう書くのですか?また、>=や<=の場合の書き方を教えてください

タイトルのとおりです

IF文で下記の3つの書き方がわかりません。

NOT=は、<>?
0以外の場合は、A1<>0?

A1が0と同じか、大きい場合は
A1>=0?

なんだか、うまくいきません^^;

よろしくお願いいたします

Aベストアンサー

A1が・・・・・
A1 <> 0  0以外
A1 >= 0  0以上(0を含む)
A1 > 0   0より大きい(0は含まない)
A1 <= 0  0以下(0を含む)
A1 < 0  0未満
A1 = 0  0

=<,=> などの書き方は使えません。


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング