プロが教える店舗&オフィスのセキュリティ対策術

本件について、表示形式で対応できるのが理想なのですが、他の質問を見ていると「表示形式」での設定は無理のようで、数式での変換方法として下記のような回答を見つけました。しかし私の目的とする「●,●●●億●,●●●万●千円」ではなく「●●●億●●●●万円」とするものでした。
そこで、これを「●,●●●億●,●●●万●千円」となる数式に修正する方法を教えて下さい。関数に無知ですので・・・・。よろしくお願いします。

----【他の回答】------------------------------------------------
表示形式ではできないと思います。別のセルに数式なら可能ですが...
A2=36701400000 なら
B2=TEXT(TRUNC(A2/10^8),"#億;;")&TEXT(TRUNC(MOD(A2,10^8)/10^4),"#万;;")&IF(A2<10^4,"","円")

A2=3670140 なら
B2=TEXT(TRUNC(A2/10^4),"#億;;")&TEXT(TRUNC(MOD(A2,10^4)),"#万;;")&IF(A2<1,"","円")
----------------------------------------------------------------

A 回答 (6件)

こんな感じでいかが


=TEXT(INT(A1/10^8),"#,###億;;;")&TEXT(INT(MOD(A1,10^8)/10^4),"#,###万;;;")&TEXT(INT(MOD(A1,10^4)/1000),"#千円;;円")


=TEXT(INT(A1/10^8),"#,###億;;;")&TEXT(INT(MOD(A1,10^8)/10^4),"#,###万;;;")&TEXT((MOD(A1,10^4)),"#,###円")
    • good
    • 1
この回答へのお礼

返事遅くなって申し訳ありません。
回答ありがとうございました。私の希望に合致しています。
本当にありがとうございました。

お礼日時:2008/05/28 21:18

>年配の方までが目を通すものなので


若い方がそう考えるほうが時代遅れでは。戦後の教育を受けた人も70歳近くなってます。
桁取りだけ3桁というのもちぐはぐでは。
質問者が自己満足ではないかな。
ーー
関数で別列に複雑な式を入れるか、その式がイヤでVBAでやるかです(ユーザー関数など)
質問の場合に合うかどうか判らないが、やってみた
Function oku(s)
p = 0
ss = " 兆 , 億 , 万 , 円"
For i = Len(ss) To 1 Step -1
If Mid(ss, i, 1) = " " Then

'MsgBox Mid(s, Len(s) - p, 1)
Mid(ss, i, 1) = Mid(s, Len(s) - p, 1)
p = p + 1
If Len(s) = p Then GoTo p1
'MsgBox ss
End If
Next i
p1:
oku = Right(ss, Len(ss) - i + 1)
End Function
ーー
例データ
B列の式は=oku(A1)  と入れて下方向に複写
配置は横方向で右詰
A列        B列
123456789012億3,456万7,890円
3456789345万6,789円
123423451,234万2,345円
2345234552億3,452万3,455円
123123円
112341万1,234円
12341,234円
23456723万4,567円
1234555123万4,555円
234566672,345万6,667円
1234566671億2,345万6,667円
1.23457E+121兆2,345億6,789万0,123円
(1234567890123)
    • good
    • 1

#02です。

以下ではどうでしょうか

=IF(INT(A1/10^8)=0,"",TEXT(INT(A1/10^8),"#,###億"))&IF(INT(MOD(A1,10^8)/10^4)=0,"",TEXT(INT(MOD(A1,10^8)/10^4),"#,###万"))&IF(INT(MOD(A1,10^4)/10^3)=0,"0",INT(MOD(A1,10^4)/10^3)&"千")&"円"

でも少しはご自身でも考えましょうね
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

そうですね。今後はもっと勉強してみようと思います。

お礼日時:2008/05/10 15:05

桁の揃ってない数値が列記されたら、かえって読みにくくなるんだけどなぁ。



=TEXT(INT(A1/10^8),"#,###")&REPT("億",A1>=10^8)&
TEXT(INT(MOD(A1,10^8)/10^4),"#,###")&REPT("万",MOD(A1,10^8)/10^4>1)&
TEXT(INT(MOD(A1,10^4)/10^3),"#")&REPT("千円",MOD(A1,10^4)/10^3>1)

こんな感じで。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
すばらしいです!! わからない者からすると魔法がかかったようで超気持ちイイです。
確かに数字に強い方や見慣れた方にとっては逆に桁の揃った数値のみの表示のほうが分かりやすいですよね。
私が今回作ろうとしている書類は、年配の方までが目を通すものなので、読みやすさを重視したわけです。
本当にありがとうございました。

お礼日時:2008/05/10 14:48

日本の通貨単位は4桁毎に単位が切り上がるので、エクセルの「,」区切りはそのまま使えませんね。



A1セルに数値があるとき
 =IF(A1>=10^8,TEXT(INT(A1/10^8),"#,###億"),"")&IF(A1>=10^4,TEXT(INT(MOD(A1,10^8)/10^4),"#,###万"))&INT(MOD(A1,10^4)/10^3)&"千円"
もしくは
 =TEXT(INT((A1>=10^8)*A1/10^8),"#,###億")&TEXT(INT(MOD((A1>=10^4)*A1,10^8)/10^4),"#,###万")&INT(MOD(A1,10^4)/10^3)&"千円"
で「●,●●●億●,●●●万●千円」や「●,●●●万●千円」を求めることができます。

この回答への補足

回答ありがとうございました。
前者の数式がいいですね。
ただ、例えば500,000円の場合に「50万0千円」と表示されるので、その場合は「50万円」と表示される方法を教えて下さい。(万円の桁が「0」の場合も万円のみが表示されてしまいますのであわせてお願いします。例:100,005,000円の場合「1億万円5千円」となってしまいます。)

補足日時:2008/05/10 13:56
    • good
    • 0

桁区切りが消えますがそれでもいいのでしたら・・・


「表示形式」の「ユーザー設定」に入力します
「●,●●●億●,●●●万●千円」 ←この表示方法は・・・
「####憶####万#千円」 ← ユーザー設定でこのようにします
「####兆####憶####万#千円」とすると「123兆4567憶8901万円」と表示されます

この回答への補足

さっそくにありがとうございました。
ただ、億未満の金額の場合でも「億」が表示されたり、千円の桁が「0」でも表示されてしまいます・・・。
例:1,000千円の場合、「億100万0千円」

一目で分かりやすい金額表示(億万千円表示)で、上は億から下は千円までの金額が記載された資料づくりが目的ですので、上記のようなことも全てクリアできる方法が知りたいのですが・・・。

補足日時:2008/05/10 13:33
    • good
    • 0

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