プロが教えるわが家の防犯対策術!

ある条件の時に、無限大マーク(∞)を表示させるエクセルのシートがあります。たとえばこんな感じです。

    =if(A1>100,"∞",A1)

私のエクセルでは正しく表示されるのですが、シンガポールにいる同僚に渡したら!が逆さまになった文字とPに似た文字が表示されてしまいました。シートを送り返してもらうと、式がこのように変わっていました。

    =if(A1>100,"判別できない文字",A1)

特殊文字をハードコードしているのがいけないのかと思って、"∞"の代わりにCHAR(8551)にしてみました。∞の文字コードは10進数で8551です。

    =if(A1>100,CHAR(8551),A1)

もちろん、私のエクセルでは正しく∞が表示されました。しかし同僚がやってみると#VALUEが表示されたそうです。同僚が関数の挿入ウィザードでCHARを選択すると下に出る説明文には入れられる数字は1~255となっているそうです。ちなみに私のエクセルでウィザードを使ってCHARを挿入しようとすると説明文には1から255および8481から39038まで可能となっています。

同僚のエクセルは1~255までしか受け付けないので、8551を入れようとしたら#VALUEのエラーが出たのだと思います。

さて、同僚のエクセルで無限大マークを表示させるにはどうしたらよいのでしょうか?

ちなみに彼のパソコンはWindows XP SP2の英語環境です。私のパソコンはWindows XP SP2を日本語で使っています。エクセルは共に2003バージョンSP2です。

A 回答 (4件)

色々書きましたが、ねぼけていたようでミスがあちこちに..


この場を借りて訂正いたします

>> 日本のコードページは一般に934です
日本のコードページは一般に932です

>> &H8187(16進)=2167(10進数)になる
&H8187(16進)=33159(10進数)になる

>> AscW関数、ChrW関数
これらはVBA用なので、ワークシート関数ではCHARしかなさそうです

> 生JISの2167を10進数に変換した8551だけが∞を表示
この通りですね。
HelpにもASCIIまたはJISコードと明記されていました

色々と混乱させてしまったと思いますのですいません

参考URL:http://office.microsoft.com/ja-jp/excel/CH062528 …
    • good
    • 0
この回答へのお礼

いえいえ、とんでもありません。いろいろありがとうございました。

お礼日時:2007/10/23 13:27

ちょっと書き忘れたので追記


斜め読みされちゃうと、Excel97の情報だから関係ないと思われるかもしれないので・・
AscW関数、ChrW関数、そしてUNICODE辺りが重要な所です
ところで10進数で8551でした?
その辺りは日本だと使われていないような?
参考までにMS仕様ShiftJISでは、&H8187(16進)=2167(10進数)になるように思います。
Unicodeだと&H221E(16進数)=8734(10進数)
句点コードとか生JISじゃないですよね?
こちらはVista上で見ているから、採用しているJIS規格の年が違うのですが、この辺りの文字はズレが起きていなかったように記憶しています
    • good
    • 0
この回答へのお礼

∞はUNICODEで221e、生JISで2167、SJISで8187だとわかったのですが、それらをCHAR(文字コード)関数に当てはめるとそのままでは#VALUEエラーになるので、10進数に変換して入れてみました。
そうすると生JISの2167を10進数に変換した8551だけが∞を表示しました。

お礼日時:2007/10/21 01:55

非常に難しい問題だと思います


詳しくは参考URLを見ていただくとして、日本のコードページは一般に934です。
派生で943とか、お得意のMSだけマッピングがJISとちょっと違うとか色々ありますが・・
Excelとしては文字が化けないようにユニコード指定とする事で、#VALUEは回避できると思います
でも英語版の場合は「∞」に対応するフォントがインストールされておらず見た目が「?」、又は「□」になる可能性が高いように思います

逆に質問となってしまいますが、よろしければ、英語版Windowsでどうなったか教えてください
参考URLの2つ目ですが、「∞」が目立たせたいという意味で使いたかったのであれば、代替手段としてこういうのも有ります
用途に応じて、色々ありますよという事で^^

参考URL:http://support.microsoft.com/kb/408879,http://su …
    • good
    • 0
この回答へのお礼

文字が化けてしまっては(今でも意味不明の文字が表示されている)困りますので、確実に表示される文字で、色を変えるという手段もありますね。ありがとうございます。

お礼日時:2007/10/21 01:40

言語によりフォントの番地が違うのでしょう。

それでも「∞」は数学記号でどこかにあるはずですから、同僚のかたのパソコンで「∞」探してもらってそれで置き換えてもらえばいいはずですが。
    • good
    • 0
この回答へのお礼

早速ありがとうございます。
そうですね。私の環境と違うわけですから、同僚の環境に存在する「∞」を採用すればよさそうですね。試してみます。

お礼日時:2007/10/21 01:37

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