- 締切済み
エクセルで「●,●●●億●,●●●万●千円」と表示させるには?
本件について、表示形式で対応できるのが理想なのですが、他の質問を見ていると「表示形式」での設定は無理のようで、数式での変換方法として下記のような回答を見つけました。しかし私の目的とする「●,●●●億●,●●●万●千円」ではなく「●●●億●●●●万円」とするものでした。 そこで、これを「●,●●●億●,●●●万●千円」となる数式に修正する方法を教えて下さい。関数に無知ですので・・・・。よろしくお願いします。 ----【他の回答】------------------------------------------------ 表示形式ではできないと思います。別のセルに数式なら可能ですが... 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,"","円") ----------------------------------------------------------------
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- sige1701
- ベストアンサー率28% (74/260)
こんな感じでいかが =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)),"#,###円")
- imogasi
- ベストアンサー率27% (4737/17070)
>年配の方までが目を通すものなので 若い方がそう考えるほうが時代遅れでは。戦後の教育を受けた人も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列 1234567890 12億3,456万7,890円 3456789 345万6,789円 12342345 1,234万2,345円 234523455 2億3,452万3,455円 123 123円 11234 1万1,234円 1234 1,234円 234567 23万4,567円 1234555 123万4,555円 23456667 2,345万6,667円 123456667 1億2,345万6,667円 1.23457E+12 1兆2,345億6,789万0,123円 (1234567890123)
- zap35
- ベストアンサー率44% (1383/3079)
#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)&"千")&"円" でも少しはご自身でも考えましょうね
お礼
回答ありがとうございました。 そうですね。今後はもっと勉強してみようと思います。
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
桁の揃ってない数値が列記されたら、かえって読みにくくなるんだけどなぁ。 =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) こんな感じで。
お礼
回答ありがとうございました。 すばらしいです!! わからない者からすると魔法がかかったようで超気持ちイイです。 確かに数字に強い方や見慣れた方にとっては逆に桁の揃った数値のみの表示のほうが分かりやすいですよね。 私が今回作ろうとしている書類は、年配の方までが目を通すものなので、読みやすさを重視したわけです。 本当にありがとうございました。
- zap35
- ベストアンサー率44% (1383/3079)
日本の通貨単位は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千円」となってしまいます。)
- esupuresso
- ベストアンサー率44% (257/579)
桁区切りが消えますがそれでもいいのでしたら・・・ 「表示形式」の「ユーザー設定」に入力します 「●,●●●億●,●●●万●千円」 ←この表示方法は・・・ 「####憶####万#千円」 ← ユーザー設定でこのようにします 「####兆####憶####万#千円」とすると「123兆4567憶8901万円」と表示されます
補足
さっそくにありがとうございました。 ただ、億未満の金額の場合でも「億」が表示されたり、千円の桁が「0」でも表示されてしまいます・・・。 例:1,000千円の場合、「億100万0千円」 一目で分かりやすい金額表示(億万千円表示)で、上は億から下は千円までの金額が記載された資料づくりが目的ですので、上記のようなことも全てクリアできる方法が知りたいのですが・・・。
お礼
返事遅くなって申し訳ありません。 回答ありがとうございました。私の希望に合致しています。 本当にありがとうございました。