• 締切済み

エクセルのセルに入力した、数字の表示について

数字を入力して、表示されるセルの設定について、 150,000,000と入力して、 「1億5000万」と表示させたいです。 また同時に、1,580,000,000と入力して 「15億8000万」。 15,600,000,000と入力して、 「156億」と表示させたり、 19,000,000と入力して 「1900万」と表示させることは可能でしょうか。 初心者ですが、よろしくおねがいします。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.7

#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 で書いたように、イベント・ドリブン型で表示形式自体を変更するのは、こういう方式とはまったく違ったものです。

man78ia
質問者

お礼

裏技と言うか、 エクセルの奥深さに脱帽です。 もちろん、所詮、「清書」的 パソコン活用しかできていないので、 僕には難しすぎました^^; ただ、向上心はあります。 爬虫類は空をも鳥と姿を変えて征服しました。 今後、理解できるよう努力を重ねます。 ありがとうございました。

  • hogehage
  • ベストアンサー率50% (54/107)
回答No.6

#4ですが、私のは億の単位まで入力されていないと、変な表示になりますね。失礼しました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

ユーザー関数を下記のように作る。 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

man78ia
質問者

補足

ユーザー関数ってどうやって作るんでしょうか^^;

  • hogehage
  • ベストアンサー率50% (54/107)
回答No.4

以下の手順で希望されている事が実現すると思います。 (1)表示形式を #億####万#### とします (2)万の後にカーソルを持って行き、Ctrl+J(改行) (3)セルの書式の配置で、折り返して全体を表示にチェック お試し下さい。

man78ia
質問者

お礼

ありがとうございます!! お!!!と思ったら、「億1900万」になりました^^; でも、改行という裏技に衝撃でしたありがとうございます。

  • fukkyse
  • ベストアンサー率32% (130/402)
回答No.3

表示形式では難しいのではないのでしょうか。 1列余分に作っても良いならば、 =IF(LEFT(A1,LEN(A1)-8)="","",LEFT(A1,LEN(A1)-8)&"億")&MID(A1,LEN(A1)-7,4)&"万" など考えられますが。

man78ia
質問者

お礼

ありがとうございます!! IF式を駆使して僕も奮闘しています。 「19億0000万」や 「19億0400万」と表示され、 解決のために今なお奮闘中です。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 その表示は、通常の方法ではできないと思います。 「1億5000万」 5千はあっても、5000という表現の仕方は、ないからです。 もっとも近い表示は、 [書式]-[セル]-[セルの書式設定]-[ユーザー書式] [DBNum3]G/標準 「1億5千万」 となります。 どうしても、と言われれば、イベント・ドリブン形式のマクロを組むしかありません。それも、なかなか複雑なもののはずです。

man78ia
質問者

お礼

ありがとうございます。 そうなんです。 単純そうで、なかなか・・・・ 「2101000000」(21億100万)と入力して、 「2十1億百万」と ずいぶん理想とかけ離れてしまいました。。。 ありがとうございます。

noname#113407
noname#113407
回答No.1

書式設定>その他>漢数字でどうでしょうか

関連するQ&A