• ベストアンサー

Excelで西暦の書式を行ごとに変えたい

いつもお世話になっております。 Excelの書式について教えて下さい。 コードNoをvlookup関数で検索し、賞味期限を別のセルに 表示させたいのですが、物によって賞味期限の書式が 異なるので困っています。 ある物はyyyy.mm.dd 別の物はyy.m.d といった具合です。 今のところ、製品のマスタに賞味期限を入力しており、 それをvlookupで拾い、今日の日付で計算して 表示する様な方法にしております。 しかし、これだと上述のように書式を分けることが できません。 何か良い方法はないでしょうか? ご存じの方がおられましたらお教えいただきたいです。 よろしくお願いします。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

製品のマスタにコードナンバーと賞味期限(今日の日付から何日後?)がデータとしてあるのですよね? でしたら、製品マスタに。表示フォーマットも加えては? 添付の図を見てください。A1:C4を製品マスタとしています。 そして、E2セルに入っているコードナンバー(図の場合1)の賞味期限表示を↓の様に表示しています。 =TEXT(NOW()+VLOOKUP(E2,A1:C4,2,FALSE),VLOOKUP(E2,A1:C4,3,FALSE)) 2つ目のVlookupでフォーマットを取得して、Text関数でそのフォーマットを使って表示しています。

kkke
質問者

お礼

すごい! これならいけそうです。 ちょっと作って見ます。

kkke
質問者

補足

できました! 日付指定ができるよう、NOWの所をEDATE関数にしました。 本当にありがとうございました。

その他の回答 (2)

  • avanzato
  • ベストアンサー率54% (52/95)
回答No.3

こんにちは。 「ある物」と「別の物」と言うことでしたらこちらで如何でしょうか? 尚、ある物の賞味期限を7日とし別の物は1日と指定しています。 ↓画像参考

kkke
質問者

お礼

ありがとうございます。 No.2の回答者さんの方法で解決できました。 画像まで貼付していただき、ありがとうございました。

  • tadagenji
  • ベストアンサー率23% (508/2193)
回答No.1

表示で変更したいセルの表示形式をまとめて指定すればよいのでは? ここの式は関係ありませんので、結果の表示を希望する書式にするには、 セルをまとめて選択し=列全部ならば列を選択 右クリックのセルの書式設定から表示形式を選び 日付グループの yyy.mm.dd を選ぶ 以上です。 元データーではなくそのように表示したいセルに設定することです。 シリアル値で入っている限り可能ですが、文字列で入力されたものにはできません。

kkke
質問者

お礼

ありがとうございます。 もちろんその方法なら可能なんですが、 毎日の業務ですので 手間を掛けず、間違えの起こらない方法で やりたいのです。 ですのでVBAや関数を使うことになると 思うのですが、良い方法が思い浮かばず 質問させていただいた次第です。

関連するQ&A

専門家に質問してみよう