- 締切済み
エクセルのセルに入力した、数字の表示について
数字を入力して、表示されるセルの設定について、 150,000,000と入力して、 「1億5000万」と表示させたいです。 また同時に、1,580,000,000と入力して 「15億8000万」。 15,600,000,000と入力して、 「156億」と表示させたり、 19,000,000と入力して 「1900万」と表示させることは可能でしょうか。 初心者ですが、よろしくおねがいします。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
#2 のWendy02 です。 私の書き込みを含めて、コメントがない状態がないので、新たな回答は付けにくいのですが、もし、ご興味があるなら、お試しください。 ユーザー定義関数の作り方。 (ただし、コードは、私自身の作成によるもの) Altキーを押しながら、F11 を押すと、Visual Basic Editor 画面が出てきますので、次に、メニューの[挿入]-[標準モジュール(M)]をクリックすると、 白い画面が現れます。 そこに、以下をコピー&ペーストします。 '---------------------------------------------------------- Function CentiFig(ByVal Suji As Variant) As String Dim I As Integer, j As Integer, arb As String, kan As String For I = Len(Suji) - 3 To -2 Step -4 If I > 0 Then arb = Mid$(Suji, I, 4) j = j + 1 ElseIf I < 1 And CBool(Len(Suji) Mod 4) Then arb = Mid$(Suji, 1, Len(Suji) Mod 4) j = j + 1 End If Select Case j Case 1 If CLng(arb) <> 0 Then kan = CStr(CLng(arb)) End If Case 2 If CLng(arb) <> 0 Then kan = CStr(CLng(arb)) & "万" & kan End If Case 3 If CLng(arb) <> 0 Then kan = CStr(CLng(arb)) & "億" & kan End If Case 4 If CLng(arb) <> 0 Then kan = CStr(CLng(arb)) & "兆" & kan End If Case 5 If CLng(arb) <> 0 Then kan = CStr(CLng(arb)) & "京" & kan End If End Select Next I CentiFig = kan End Function '---------------------------------------------------------- なお、使い方は、一般の関数の使い方と同じです。 A1 =1510000001 B1 に =centifig(A1) 15億1000万1 と出てきます。 ただし、#2 で書いたように、イベント・ドリブン型で表示形式自体を変更するのは、こういう方式とはまったく違ったものです。
- hogehage
- ベストアンサー率50% (54/107)
#4ですが、私のは億の単位まで入力されていないと、変な表示になりますね。失礼しました。
- imogasi
- ベストアンサー率27% (4737/17069)
ユーザー関数を下記のように作る。 Function oku(a) oku = Format(a / 10000, "###億####万") End Function A1セルに数字があるとして B1に=OKU(A1)と入れる。 A1が1500030000の時、B1は 15億0003万 になりました。 万以下四捨五入になるようです。 切捨ては Function oku(a) oku = Format(Int(a / 10000), "###億####万") End Function
補足
ユーザー関数ってどうやって作るんでしょうか^^;
- hogehage
- ベストアンサー率50% (54/107)
以下の手順で希望されている事が実現すると思います。 (1)表示形式を #億####万#### とします (2)万の後にカーソルを持って行き、Ctrl+J(改行) (3)セルの書式の配置で、折り返して全体を表示にチェック お試し下さい。
お礼
ありがとうございます!! お!!!と思ったら、「億1900万」になりました^^; でも、改行という裏技に衝撃でしたありがとうございます。
- fukkyse
- ベストアンサー率32% (130/402)
表示形式では難しいのではないのでしょうか。 1列余分に作っても良いならば、 =IF(LEFT(A1,LEN(A1)-8)="","",LEFT(A1,LEN(A1)-8)&"億")&MID(A1,LEN(A1)-7,4)&"万" など考えられますが。
お礼
ありがとうございます!! IF式を駆使して僕も奮闘しています。 「19億0000万」や 「19億0400万」と表示され、 解決のために今なお奮闘中です。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 その表示は、通常の方法ではできないと思います。 「1億5000万」 5千はあっても、5000という表現の仕方は、ないからです。 もっとも近い表示は、 [書式]-[セル]-[セルの書式設定]-[ユーザー書式] [DBNum3]G/標準 「1億5千万」 となります。 どうしても、と言われれば、イベント・ドリブン形式のマクロを組むしかありません。それも、なかなか複雑なもののはずです。
お礼
ありがとうございます。 そうなんです。 単純そうで、なかなか・・・・ 「2101000000」(21億100万)と入力して、 「2十1億百万」と ずいぶん理想とかけ離れてしまいました。。。 ありがとうございます。
書式設定>その他>漢数字でどうでしょうか
お礼
裏技と言うか、 エクセルの奥深さに脱帽です。 もちろん、所詮、「清書」的 パソコン活用しかできていないので、 僕には難しすぎました^^; ただ、向上心はあります。 爬虫類は空をも鳥と姿を変えて征服しました。 今後、理解できるよう努力を重ねます。 ありがとうございました。