
数値に桁区切り表示や小数点表示をする場合、日本や英米では、例えば1千2百34万5千6百78小数点9なら、12,345,678.9 のように、桁区切りはカンマ、小数点はピリオドで表記しますね。
ところがヨーロッパでは、ドイツ、イタリア、ベルギーなどでは、12.345.678,9 のように、桁区切りはピリオド、小数点はカンマで表記します。
また、フランスやロシアでは、12 345 678,9 のように、桁区切りはスペース、小数点はカンマで表記します。
スイスでは言語(独、仏、伊)にかかわらず、12'345'678.9 のように、桁区切りはアポストロフィー、小数点はピリオドです。
Window自体を「地域設定」で直してしまえば、国別にあわせ数値の表記方法は如何様にも対応はできると思いますが、実は今作成しているエクセルはシートごと数値の表記を変えたいのです。1シート目には日本語、2シート目には英語、3シート目がフランス語のようになっており、各シートは1枚目に入力した数値を参照して計算し、表示されます。したがって、地域設定は使えないと思います。
このようにシートごとに数値の表記方法を変えるにはどうしたらよいのでしょうか?
ご教示くださいませ。
No.2ベストアンサー
- 回答日時:
こんにちは。
>まだエクセル2000なんです。
私は、あまりAPIとか書きたくないので、もしどなたかいらっしゃったら、お任せします。
以下にあったのですが、これは、モジュールを単独で書くわけではなさそうです。
http://www.ozgrid.com/forum/showthread.php?t=38890
単純に、こちらの XP +XL2000で、APIでやったら、書式自体が崩れてしまい、戻すのに手間を取りました。
ちなみに、単に、表示だけの問題なら、関数で、印刷用のシートをひとつ作ればそれでよいと思います。
例:
123,456.07
=SUBSTITUTE(FIXED(A1,0),",",tsep)&deci&RIGHT(FIXED(A1,2),2)
名前-定義
deci: ,
tsep: .
ちなみに、私は、相手は相手でキリがないので、こちらは英文も書式も相手に合わせることはしませんでした。
この回答への補足
> 相手は相手でキリがないので、こちらは英文も書式も相手に合わせることはしませんでした。
たしかにそうですね、きりがありません。
ただ、今回は本文が仏文や独文なので数値表記だけ英米(日)式とは行かなかったのです。
なるほどぉ!!
一旦、FIXEDで文字列に変えてから置き換えるわけですか。
さすがです。
有難うございました。
ところで
=SUBSTITUTE(FIXED(A1,0),",",".")&","&RIGHT(FIXED(A1,2),2)
でもいいんですよね?
名前-定義を使ったのはなぜなのでしょうか?
No.5
- 回答日時:
前から見たことがあるなと思いWEB照会すると
Application.DecimalSeparator and Application.UseSystemSeparators.
http://www.bmsltd.ie/ExcelProgRef/Ch22/ProgRefCh …
(「Excel 2002's International Options」で検索すると出ますが)
でエクセル2002でも使えるようです。ひょっとすると2000でも使えるかも。小生など無縁ですが、他の内容も参考になるかも。
No.4
- 回答日時:
こんばんは。
>名前-定義を使ったのはなぜなのでしょうか?
その理由は、数式の中を直接書き換えるよりも、セルに登録しておけば、切り替えが楽だからです。その状況に合わせて、VLOOKUPなども使えますよね。
No.3
- 回答日時:
オープンオフィスならできます。
セルの書式設定で言語を選択できるようになっているため、シート単位でなく、セル単位で変更可能です。
http://oooug.jp/faq/index.php?Faq%2FCalc#content …
オープンオフィスは無料のオフィスソフトです。
http://ja.openoffice.org/
編集は自分だけ、マクロは使わないなら十分な機能があります。(一応マクロ機能もあります)
配布するときにはオープンオフィスを入れてまわるわけにも行かないと思うので、印刷するかPDFに出力することになります。
(PDF出力機能もあります)
MS Excel形式に出力できますが、その設定は失われます。
また私の環境はExcel2002ですが、Wendy02さんがNo1で書いたマクロはうまく機能しました。
しかし別のPCに入っているExcel97ではエラーになりました。
オープンオフィスならできるんですか、知りませんでした。
ただ、社内でオープンオフィスってわけにもいかないものですから・・・。
有難うございます。
No.1
- 回答日時:
こんにちは。
それは、Excelなら、International モードのあるバージョン(2003以上)だと思いますが、マクロで、シートの切り替えごとに、
たとえば、
Application.DecimalSeparator = ","
Application.ThousandsSeparator = "."
Application.UseSystemSeparators = False
とすればよいのではありませんか?
確か、それ以下のバージョンでの変更の方法を、ここのカテゴリで書いた人がいたと思います。もしかしたら、APIで換えるかもしれませんが。
早速、ありがとうございます。
残念ながら当社の標準機はまだエクセル2000なんです。
2003以上だとそういう対応が出来るんですね、初めて知りました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのセルの書式設定・ユーザー定義の条件設定について 1 2022/08/17 21:56
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- 数学 以下の問題が分かりません。 8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット 4 2023/07/22 16:06
- 教育学 エクセルで小数点以下を四捨五入について教えてください。 2 2023/04/05 17:33
- PDF C#でfloatを整数部、小数部とも桁数固定で文字表示したい 2 2022/07/28 09:37
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- Excel(エクセル) 条件付き書式の設定方法を教えて下さい。 2 2023/04/14 18:12
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 数式の無効化
-
PowerPointの表内のカンマ
-
セル上に表示された見かけ上の...
-
エクセルの計算結果に+(プラス...
-
エクセルで、タイム計測の管理...
-
エクセルでオートサムを使った...
-
エクセルで、50銭以下切捨て...
-
エクセルの計算式でコンマを付...
-
エクセル 平均年齢
-
エクセルで深夜勤務の時間計算
-
エクセルで数字を千分の1にし...
-
Excelで「1234」と入力して...
-
16桁以上の「0」に変換されてし...
-
教えてください!
-
エクセルで数式を隠すこと(ロ...
-
エクセルで文章を縦で入力はで...
-
横書きの半角数字を、縦表示に...
-
エクセル 揃えができない。
-
エクセル、式が計算されず文字...
-
エクセルで「-3E+06」と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PowerPointの表内のカンマ
-
エクセル 数式の無効化
-
エクセルの計算式でコンマを付...
-
セル上に表示された見かけ上の...
-
エクセルでleft関数の結果が表...
-
エクセルでオートサムを使った...
-
エクセルの計算結果に+(プラス...
-
16桁以上の「0」に変換されてし...
-
エクセルで囲み線で出来ますか?
-
エクセルで「-3E+06」と...
-
エクセル 0.1と0.10
-
エクセルで、50銭以下切捨て...
-
エクセル 平均年齢
-
EXCEL計算式が入っているセルを...
-
エクセルの画面上にテキストBOX...
-
エクセル 常に桁区切りにしたい
-
エクセルでの『セルの書式設定...
-
Excelで「1234」と入力して...
-
エクセルで0.1という数字を%表...
-
エクセルで、タイム計測の管理...
おすすめ情報