• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelで日付を自動表示させたい)

Excelで日付を自動表示させたい

このQ&Aのポイント
  • Excelのシートで1行目にタイトルが入っていて、年月は別のシートに次のように入力されています【○○店売上2008.11】。mid関数を使って数式を作ってみたのですが、29日以降の数字は表示されません。真っ白のままです。どのようにしたら別シートの年月を参照する形で日付を自動表示させられるのでしょうか?できればタイトルが変えられないのでmid関数でなくても何らかの方法で取り出したいです。
  • Excelのシートで2行目に1日から末日までの日付が入っています。他のファイルでは1行目に入力されている年と1月を参照して、Date関数を使って29日以降の日付は自動で表示されるようになっています。ところが今使っているファイルでは1行目にタイトルが入っていて、年月は別のシートに次のように入力されています【○○店売上2008.11】。mid関数を使って数式を作ってみたのですが、29日以降の数字は表示されません。真っ白のままです。どのようにしたら別シートの年月を参照する形で日付を自動表示させられるのでしょうか?できればタイトルが変えられないのでmid関数でなくても何らかの方法で取り出したいです。
  • Excelのシートで2行目に1日から末日までの日付が入っています。他のファイルでは1行目に入力されている年と1月を参照して、Date関数を使って29日以降の日付は自動で表示されるようになっています。今使っているファイルでは1行目にタイトルが入っていて、年月は別のシートに次のように入力されています【○○店売上2008.11】。mid関数を使って数式を作ってみたのですが、29日以降の数字は表示されません。真っ白のままです。どのようにしたら別シートの年月を参照する形で日付を自動表示させられるのでしょうか?できればタイトルが変えられないのでmid関数でなくても何らかの方法で取り出したいです。

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

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

MONTH関数の結果は数値なのに対して、 MID関数の結果は文字列となるので、一致することはありません。 下記のように等号右辺のMIDにVALUEをかぶせ、数値化してから比較すれば、 ご要望のように動作するかと思います。  =IF(MONTH(DATE(MID(売上!$B$1,7,4),MID(売上!$B$1,12,4),COLUMN()-1))=VALUE(MID(売上!$B$1,12,4)),COLUMN()-1,"") なお、良し悪しを比べるほどの違いではありませんが、 もし私がやるなら、表示しようとする日付とその月の最終日を比較して  =IF(DAY(DATE(MID(売上!$B$1,7,4),MID(売上!$B$1,12,2)+1,0))>=COLUMN()-1,COLUMN()-1,"") という方向で考えるかもしれません。 Excel2003で動作確認。以上ご参考まで。

akarine
質問者

お礼

Kater_Kurzさん、ありがとうございます。 過去の質問や他のサイトも参考にしてやってみたのですが、11月なのに31日が表示されてしまったりしてうまくいかず途方に暮れていました。 教えていただいたやり方のどちらでもうまくいきました。 DAY関数は使ったことがなかったので、今回勉強の意味も含めて使ってみようと思います。 本当に助かりました。 どうもありがとうございました。

その他の回答 (1)

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.1

mid関数を使って、どんな数式を作ってみたのか、提示しましょう。

akarine
質問者

補足

higekumanさん、ありがとうございます。 下記のような数式です。 =IF(MONTH(DATE(MID(売上!$B$1,7,4),MID(売上!$B$1,12,4),COLUMN()-1))=MID(売上!$B$1,12,4),COLUMN()-1,"") 後半の""のところを"123"にする数式にしたら、セルには123と表示されました。 どうかよろしくお願いします。

関連するQ&A