• ベストアンサー

エクセルの条件つき書式を別のセルに適用させる

お世話になっております。m(_ _)m エクセルに「条件つき書式」という機能があります。 これは、「設定をしたセルの書式」を制御するものですが、条件の指定に使うセルと書式を設定したいセルが別の場合は、どのようにすればよいのでしょうか?可能なのでしょうか? やりたいことは、A1のセルに入っているデータが8桁なら書式を「00000000(ゼロ8個)」とし、9桁なら「000000000(ゼロ9個)」というようにしたいのです。 このような設定をしなければならない理由は、このセルに入るデータは桁数が8桁か9桁で、数字か文字か決まっていないデータが入ります。 例)00123445   E0123456   012345678   Z12345678 等 「E0123456」や「Z12345678」が入る場合は文字列としてデータが扱われてもかまわないのですが、「00123445」や「012345678」は「数値」として扱いたいのです。 「00123445」の場合、数値としてこの数字を表示したければ書式を「00000000(ゼロ8個)」とすればよいと思います。 しかし、このセルには9桁の「012345678」というデータが入る可能性があります。このデータも数字として扱いたいので「000000000(ゼロ9個)」とすればよいとなります。 しかし、ゼロ9個の書式設定をしてしまうと、8桁の数字が「000123445」と表示されてしまいます。それでは困ります。 8桁は8ケタ、9桁は9ケタで、0から始まる数字を表示したい場合、どのようにすれば表示できるでしょうか? 長くなりましたが回答をお願いします。

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

  • ベストアンサー
回答No.2

条件付き書式では、「表示形式」は指定できないので、以下の関数をご使用されてはいかがでしょうか? =IF(LEN(A1)>8,TEXT(A1,"000000000"),TEXT(A1,"00000000"))

xchoxcho
質問者

お礼

この方法がベストですね。挑戦してみます。 ありがとうございました。m(_ _)m

その他の回答 (1)

  • nobu555
  • ベストアンサー率45% (158/345)
回答No.1

「セルの書式設定」でタグ「表示形式」から 「分類」を『文字列』にするしかないのでは? >「00123445」や「012345678」 これらは、エクセル上数値で認識させると 「123445」や「12345678」で認識しますので、 6桁や8桁となります。 >「00123445」や「012345678」は「数値」として扱いたいのです この理由がわからないのですが、 他で参照する際に数値として扱いたいのでしたら、 =VALUE(A1) で数値として扱えます。

xchoxcho
質問者

お礼

回答ありがとうございました。 考え方の違いでしたね。目からウロコでした。 入力は好きにさせて、値を参照するということですね。 ありがとうございました。

関連するQ&A

専門家に質問してみよう