No.8ベストアンサー
- 回答日時:
こんにちは。
オプションをつけました。引数[Stopper]の文字以降は、数字を漢字に変換しません。ユーザー定義関数と一般プロシージャ両方に、オプションを入れてありますので、試してみてください。
前回のものを、そっくり置き換えてください。
'<標準モジュール>
'一括で変換する場合
Sub SujiHenkan()
Dim c As Range
'設定:右となりにいくつ?(例:1つ右となりへ出力)
Const Migi As Long = 1
'範囲をマウスで選んでください
For Each c In Selection
If Not IsEmpty(c) Then
If IsNumeric(c.Value) Or c.Value Like "*[0-9|0-9]*" Then
'オプションをつけました。
c.Offset(, Migi).Value = Suji2Kan(c.Value, , "丁目")
Else
c.Offset(, Migi).Value = c.Value
End If
End If
Next
End Sub
Function Suji2Kan(ByVal myString As String, _
Optional opt As Long = 1, Optional Stopper As String)
'Suji2Kan(文字列, [1 =一万二千三百四十五,2=壱萬弐阡参百四拾伍, _
一二三四五] ただし、非数字が入ると、2と3のみになる, [Stopper]それ以降は変換しない
Dim strItem As String
Dim buf As String, i As Long
If Not myString Like "[0-9|0-9]*" Then
For i = 1 To Len(myString)
strItem = Mid$(myString, i, 1)
If InStr(myString, Stopper) = i Then _
buf = buf & Mid$(myString, i): Exit For
If strItem Like "[0-9|0-9]" Then
buf = buf & Evaluate("NumberString(" & strItem & "," & opt & ")")
Else
buf = buf & strItem
End If
Next i
Else
buf = Evaluate("NumberString(" & myString & "," & opt & ")")
End If
Suji2Kan = buf
End Function
単独で使用する場合、
=suji2kan(A1,1,"丁目")
このようにすると、
南町一丁目23番4号
なります。
No.9
- 回答日時:
>丁目の最初の数字だけを漢字に、他はそのまま
丁目までとそれ以後を2列に分離します。そして左列(前の部分)だけを
私の関数で漢字にしてください。
2列に分離するやり方(関数は)
田町1丁目2-3田町1丁目
田町1-2-4田町1
上行のタイプは=LEFT(A1,FIND("丁目",A1)+1)
下の行のタイプでは=LEFT(A2,FIND("-",A2)-1)&"丁目"
です。後者で、住所原データによって、式の中の""の中の文字のハイフンの半角、全角を合わせて変えてください。
No.7
- 回答日時:
ためしに私も作ってみました。
マウスで範囲を選択して、変換させます。
単独の関数ですと、
A1: B1:
東京都港区赤坂6丁目 =suji2kan(A1)
(東京都港区赤坂六丁目)
12,345 =suji2kan(A10,2)
(壱萬弐阡参百四拾伍)
のようになります。仕様はほとんどNumberstring関数と変わりはありません。
'<標準モジュール>
Sub Arabic2KanHenkan()
Dim c As Range
'設定:右となりにいくつ?(例:1つ右となりへ出力)
Const Migi As Long = 1
'範囲をマウスで選んでください
For Each c In Selection
If Not IsEmpty(c) Then
If IsNumeric(c.Value) Or c.Value Like "*[0-9|0-9]*" Then
c.Offset(, Migi).Value = Suji2Kan(c.Value)
Else
c.Offset(, Migi).Value = c.Value
End If
End If
Next
End Sub
'
Function Suji2Kan(ByVal myString As String, _
Optional opt As Long = 1)
'Suji2Kan(文字列, [1 =一万二千三百四十五,2=壱萬弐阡参百四拾伍, _
一二三四五] ただし、非数字が入ると、2と3のみになる
Dim strItem As String
Dim buf As String, i As Long
If Not myString Like "[0-9|0-9]*" Then
For i = 1 To Len(myString)
strItem = Mid$(myString, i, 1)
If strItem Like "[0-9|0-9]" Then
buf = buf & Evaluate("NumberString(" & strItem & "," & opt & ")")
Else
buf = buf & strItem
End If
Next i
Else
buf = Evaluate("NumberString(" & myString & "," & opt & ")")
End If
Suji2Kan = buf
End Function
No.6
- 回答日時:
#3です。
>文章的な中での話なら、VBAで簡単にできます
と書いたものの
ユーザー関数です。
Function tokanj(a)
x = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
y = Array("〇", "一", "二", "三", "四", "五", "六", "七", "八", "九")
z = StrConv(a, 8)
For i = 0 To 9
z = Replace(z, x(i), y(i))
Next i
tokanj = z
End Function
VBEの画面で、標準モジュールを挿入し、上記を貼り付ける。
A1に南町1丁目23番4号があるとして(半角数字でもよい)
B1に式=tokanj(A1)と入れます。
結果は南町一丁目二三番四号
となります。関数感覚で使えます。
上記三->参、一->壱などにもなります。
Array()の中を変えれば、ほかにも語句->語句にも変えられます。
エクセル2000以上のVERであること。
役に立つでしょうか。
この回答への補足
どうもありがとうございました。
できました。
ちなみに、
南町1丁目23番4号とあった場合
南町一丁目23番4号にできますか?
丁目の最初の数字だけを漢字に、他はそのまま。
No.5
- 回答日時:
#3>文章中なんです
そういうのって、過去にも似たような事例がありました。
http://okweb.jp/kotaeru.php3?qid=1138479
http://okweb.jp/kotaeru.php3?qid=1133703
参考URL:http://okweb.jp/kotaeru.php3?qid=1138479,http://okweb.jp/kotaeru.php3?qid=1133703
No.4
- 回答日時:
隠しワークシート関数「NUMBERSTRING」を使って、変換できます。
=NUMBERSTRING(123,1) ⇒ 百二十三
=NUMBERSTRING(123,2) ⇒ 壱百弐拾参
=NUMBERSTRING(123,3) ⇒ 一二三
参考URL:http://pc21.nikkeibp.co.jp/tech/excel36/29/,http …
No.3
- 回答日時:
この回答への補足
>文章的な中での話なら、VBAで簡単にできます。
文章中なんです。
たとえば、住所などです。
東京都港区赤坂6丁目→東京都港区赤坂六丁目にしたいんです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 書類選考・エントリーシート 選抜結果通知用封筒から質問です 〜1番地 の1は漢数字ですか?アラビア数字ですか? 2 2023/01/27 15:06
- 文学・小説 横書き小説の数字の表記について 1 2023/01/15 22:05
- Excel(エクセル) ある範囲のセルに何を入力すると、別のセルに○を表示させる 3 2022/04/05 15:51
- Excel(エクセル) エクセル文字列の日付を日付けに変える 2 2023/05/13 11:08
- デスクトップパソコン 40年間の悩み キーボードにおいて初期値として漢字ローマ字変換に設定する方法 8 2023/05/08 14:50
- ドライブ・ストレージ 「3は「1+1+1」です。」とコンピュータが認識する用語って何ですか? 2 2022/07/17 02:33
- 教育学 エクセルで小数点以下を四捨五入について教えてください。 2 2023/04/05 17:33
- その他(言語学・言語) 何故、欧米の人はローマ数字(Ⅰ,Ⅱ,Ⅲ,Ⅳ,Ⅴ)を使わずアラビア数字(これに関するうんちくは知ってい 5 2023/06/29 18:28
- Excel(エクセル) エクセルについて教えてください。 一度入力した文字や数字を誤って削除や変更しないために、削除や変更を 3 2022/10/30 10:36
- Excel(エクセル) 差し込み印刷がうまくいかない 2 2022/07/29 12:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excel 漢字→平仮名 一括変換
-
部首が禾の橋(はし)について
-
篆書体を教えて下さい。
-
過った、はなんと読みますか?
-
wordの変換でエンター2回押さな...
-
「ありがとう」って普通ひらが...
-
『攻撃を 「かわす」 』 ←何...
-
「くるみ」という漢字、一文字...
-
漢字変換で許容漢字も出るよう...
-
漢字辞書で「神崎」さんの「崎...
-
「律」のぎょうにんべんが無い文字
-
アウトルックの漢字変換
-
『開』の旧字体
-
沢山のフォルダを普通に名前順...
-
漢字の『物』の右側って一字で...
-
「この漢字をコピー」とは。ま...
-
漢字変換できないばあいについて
-
旧漢字の変換の仕方
-
漢字や単語の予測変換って,AI、...
-
漢字ファイル名の並べ替えがで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excel 漢字→平仮名 一括変換
-
wordの変換でエンター2回押さな...
-
篆書体を教えて下さい。
-
部首が禾の橋(はし)について
-
過った、はなんと読みますか?
-
JIS第三、第四水準の漢字は入力...
-
「くるみ」という漢字、一文字...
-
「ありがとう」って普通ひらが...
-
漢字辞書で「神崎」さんの「崎...
-
「律」のぎょうにんべんが無い文字
-
『開』の旧字体
-
漢字や単語の予測変換って,AI、...
-
特殊漢字の入力方法について
-
沢山のフォルダを普通に名前順...
-
漢字ファイル名の並べ替えがで...
-
『攻撃を 「かわす」 』 ←何...
-
まだれへんを出すには?
-
人名で「く」に似た漢字を教え...
-
「ゑ」ってひらがなですか?
-
エクセルのデータにふりがなを...
おすすめ情報