- ベストアンサー
セルの書式を数量と通貨に指定する方法
いつもお世話になっております エクセル表で、IF関数を使って、列に、金額と数量を抽出しています。 金額には通過の書式と、数量は小数点第一位までの表示書式をしたいのですが、どのようにすればよいのか教えてください。 当該セルには、IF(P3>5、I5.J5) となっています。 宜しくご教示の程お願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#3=4さんのご回答のように TEXT関数で文字列として表示するのが順当だと思いますが、 以下、あくまで参考として別案をいくつか。 P3の値に応じて、金額であるか数量であるかが決まるのですよね。 #3さんの例に倣い、 I5:金額、J5:数量である ⇒ P3>5なら金額,P3<=5なら数量であるとします。 ------------------------------------ ●Excel2007なら… Excel2007であれば、条件付書式で表示形式を設定することができます。 まず当該セルの表示形式を【 0.0_ 】にしておいて、 条件付書式を、P3>5という条件をみたす場合に表示形式が【 \#,##0 】 になるよう設定すれば、ご要望のように動作します。 ただ、Excel2007固有の機能は、業務で使うにはまだ時期尚早という認識です。 ------------------------------------ ●金額、数量で、値の大きさに明らかな差があれば… 例えば「金額なら最低でも100円以上,数量は多くとも100未満」というように、 値の大きさで金額か数量かを判断できるのであれば、 当該セルの表示形式を、例えば、 [<100]0.0_ ;\#,##0 とすれば、セルの値が100未満の場合は【 0.0_ 】 100以上の場合は【 \#,##0 】という書式で表示されます。 ------------------------------------ ●数量、金額がいずれもプラスであれば… 数式を =IF(P3>5,-I5,J5) とし、 セルの表示形式を 0.0_ ;\#,##0 とすれば、 数量の場合は【 0.0_ 】、金額の場合は(値が負になるので)【 \#,##0 】 という形式で表示されます。(金額の場合も見た目は正になります) 【金額の正負が逆であることに注意すれば】 そのままSUM関数等をかぶせることもできます。 ただ、裏技的な感じは否めませんし、 将来的にトラブルの種になりそうな気がするのでお奨めはしません。 ------------------------------------ 以上ご参考まで。
その他の回答 (4)
- merlionXX
- ベストアンサー率48% (1930/4007)
No3のmerlionXXです。 > 隠しセルには数値として計算用に列を残し、 わざわざ隠しセルを作らなくとも VALUE(当該セル) で再度数値化できますよ。 なお、さっきの式は =IF(P3>5,TEXT(I5,"\#,##0"),TEXT(J5,"0.00")) のほうが良かったかも知れません。
- merlionXX
- ベストアンサー率48% (1930/4007)
もし、I5が金額、J5が数量という意味なら =IF(P3>5,TEXT(I5,"\#,###"),TEXT(J5,"#.##")) ただし、文字列になってしまいますが・・・。
- imogasi
- ベストアンサー率27% (4737/17069)
現状のエクセルの関数のキホンがわかってない質問。 関数で表示形式は設定できません。 セルの値しか設定できません。セルの値と、表示形式はエクセルでは 別カテゴリ物です。 どうしてもやるなら、VBAで上部にあるだろう、列の項目見出しなどによって、あるいは列番号によって 通貨書式か 数値書式を 場合分けして設定するほか無い。 条件付書式でも表示形式の設定はありません。
お礼
ご回答ありがとうございます。 VBAで表示できるのでしょうか? 教えてください
- insuto
- ベストアンサー率9% (1/11)
Excel2003であれば 範囲選択し、 書式→セル→表示形式 で該当する表示形式を選べばいいと思います。 小数点以下の数字も表示形式タブで選ぶことができます。 範囲選択し右クリックでセルの書式設定が出てくるので そこでもできます。
お礼
ご回答ありがとうございます IF関数で数値か通貨どちらになるか不明ですので範囲選択が出来ません。
お礼
早々にご回答ありがとうございます 隠しセルには数値として計算用に列を残し、表示としてはTEXTを使用したらよいのですね ありがとうございました 助かります。