• ベストアンサー

Excelで他のセルを参照して表示形式を変えるには?

Excelで他のセルを参照して表示形式を変えるにはどうしたらいいのでしょうか? 具体的には以下のようなことです。 為替レートを表示するようにしたいのです A列には通貨ペアが入ります A1=USD/JPY A2=GBP/JPY A3=GBP/USD ・・・・と言った感じです このとき B1=115.90 B2=218.32 B3=1.8919 という具合にB1とB2は少数以下2桁、B3は少数以下4桁の表示になるようにしたいのですが、どのようにすればいいのでしょうか? IF関数などを使おうとしたのですが、うまくいきませんでした。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

この質問はA列の値によって、B列の書式を変更したいということでしょうか。条件付き書式では数値の表示桁数を変更できないのでマクロが必要になると思います。 A列の値が頻繁に変わるのでなければ、手動で書式を設定すれば済んでしまうように思いますが、マクロで実現するならこんな感じでしょうか。マクロは通貨レートのシートモジュールにペーストして下さい。 Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) With Target If .Column = 1 Then Select Case .Value Case "USD/JPY" .Offset(0, 1).NumberFormatLocal = "0.00" Case "GBP/JPY" .Offset(0, 1).NumberFormatLocal = "0.00" Case "GBP/USD" .Offset(0, 1).NumberFormatLocal = "0.0000" Case Else .Offset(0, 1).NumberFormatLocal = "G/標準" End Select End If End With End Sub

fanvankai
質問者

お礼

zap35さんお礼がすっかり遅くなってすいませんでした。 とても助かりました。ありがとうございます。 また、機会がありましたらよろしくお願いします。

その他の回答 (2)

  • hirorin00
  • ベストアンサー率50% (446/884)
回答No.2

はじめまして B1、B2のセルは、セルの書式設定で「表示形式」「ユーザ定義」で「0.00_」、B3には「0.0000_ 」 でいけます。 もしくはツールバーの小数点表示桁上げ桁下げのボタンからもできます。

fanvankai
質問者

お礼

hirorin00さん、お礼がすっかり遅くなってしまい申しわけありません。 アドバイスありがとうございました。

回答No.1

B1には直接、数字を打ち込むの?まあ、関数でもなんでもいいけど、別にセルを参照してると思えないのだけど。参照する条件は何? 今の文章だとB1、B2、B3の表示形式をただ変えればいいだけのように読めるけど… 整数部分が1桁かどうかを考えさせようってこと?

fanvankai
質問者

お礼

finneganswakeさん、お礼がすっかり遅くなってしまいすいませんでした。 アドバイスどうもありがとうございました。

関連するQ&A