- ベストアンサー
ドル表示と円表示の識別(エクセルにて)
エクセルで、ドル表示と円表示が混在している列があります。 その列の横の説に、円かドルかのみを表示させるには、どうすればいいのでしょうか? <現在のファイル> A列 B列 C列 商品A ¥600 商品B ¥520 商品C $1.25 商品D ¥310 ※B列には、セルの書式設定を使って¥表示、$表示にしてあります。 <やりたいこと> A列 B列 C列 商品A ¥600 円 商品B ¥520 円 商品C $1.25 ドル 商品D ¥310 円 上記のように、C列に円orドルを表示させたいのです。 よろしくご指導下さい。<m(__)m>
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
『\』、『$』のどちらかの書式が設定されているとします。 B2に対してC2に以下のようにします。 =IF(LEFT(CELL("format",B2),1)="C","円","ドル")
その他の回答 (2)
- hinebot
- ベストアンサー率37% (1123/2963)
#1の方のお礼に関して、割り込みで恐縮ですが.. まず、 CELL("format",B2) で、B2に設定されている書式情報を読みます。 この関数の戻り値(結果)は ¥が設定されている場合は、"C0" $が設定されている場合は、",2" となります。なぜ、こうなるのか、これが何の意味なのかは私には分かりませんけど。(^^; 次に LEFT(・・・,1) の関数で、その1文字目を認識し、最後に IFで、"C"なら「円」、そうでないなら"ドル"を返すように作られています。 いやぁ、私も勉強になりました。
- shishishishi
- ベストアンサー率39% (362/921)
> ところで質問ついでにもう一つ教えて頂きたいのですが、の数式、どういう意味なんでしょうか...? 横からすみません。 CELL("format",B2)で、B2セルにどのような書式が設定されているかを調べています。 LEFT(CELL("format",B2),1で、書式の記号の一番左側の一文字を取り出します。 IF~で、その一文字が”C”だったら円、そうでなければドルとしています。 ただ、このままでは、たとえばなにも書式を設定しない場合もドルとなってしまいますね。 =IF(LEFT(CELL("format",B2),1)="C","円",IF(LEFT(CELL("format",B2),1)=",","ドル","")) とすれば一部の例外をのぞきOKです。
お礼
nishi6さん、早速のご回答、ありがとうございました!できました!!(喜) 本当にありがとうございます。 ところで質問ついでにもう一つ教えて頂きたいのですが、の数式、どういう意味なんでしょうか...?