今だけ人気マンガ100円レンタル特集♪

あるCell に =TODAY()を与え、ユーザー設定にて「m」とし表記「月」のみとしています。 

ある行に数字 1 2 3 4 5 6 7 8 9 10 11 12 と記述しています。
 

やりたいことは。
TODAY() と 行の数字が等しくなった時(今は4月ですので4=4となれば・・・)、

行数字の下に「1」と表示する。(行4の下に1と表示)

月が切り替われば自動的に次の月の下に「1」が表示されるようになる。


行数字を認識して「1」を表示し月が切り替わるでのマクロは問題ないのですが。

TODAY()=4 を認識させるところでつかかってしまいます。

TODAYは「m」としているので見た目としては4ですが、認識としては=TODAY() または2011/4/5(今日の日付) または40432(表記数値)でないとイコールとして認識してくれません。

イコールの数字を1 2 3 4 5・・・と固定している為。
どうにかTODAYを4や5などの月のみで認識させたいのですが、不可能でしょうか・・?
月が切り替わると自動的に「1」の入れる月をずらしていきたいので。

 
色々調べましたがなかなかHITせず投稿させて頂きました。

何卒知識をお貸しいただけたら幸いと思っております。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

「=TODAY()」の代わりに「=MONTH(TODAY())」を使って下さい。


MONTH は日付値から、月を抜き出す関数ですので今日なら「4」という数値になります。
(書式設定を「m」ではなく、「標準」か「数値」に戻すのをお忘れなく)
    • good
    • 0
この回答へのお礼

解決できました!ありがとうございました!
1番先に回答いただきました方をベストアンサーにさせていただきました。

お礼日時:2011/04/05 11:47

これはVBAの質問ですか?


それにしてもエクセルで、日付は、セルの値は、日付シリアル値で持たれていること(最も基礎的なこと)を知らないで長々下質問なっているのでは。40432(とか言っている考え方を理解してください。
だから、情報的にはその一部の月数字を出すのも、関数(日付シリアル値向けの関数)のお世話にならないと、月数字は分かりません。
Monthといった関数がエクセル関数やエクセルVBAの関数にあるから、それを使えば仕舞い。
エクセルの基礎的なことを知らないでVBAをやるのは不完全です。
ーー
もうひとつ「セルの値」と「セルの表示形式の適用結果の見た目」との区別が、質問者ははっきり認識出来てないのではないか。
エクセル関数は「セルの値」で計算や、加工などをやるものだ。
ーーー
それに質問の書き方で
>ある行に数字 
>TODAY() と 行の数字が等しくなった時
とか列のことが書いてないが、はっきりB2:M2とか書くべきです。
でないと1セル(例B2)に「1 2 3 4 5 6 7 8 9 10 11 12」が入っていると解される恐れがある。
関数で
B3に=IF(MONTH($A$1)=B2,1,"")ト入れてM列まで式を複写しておく。
現在日ではE3セルが1となる。A1は絶対番地にすること。
ーー
VBAでの回答は省略。色んな方法が考えられる。
4月ならB3から考えて4番目(Offset)の列の第3行のセルに1を入れるなど。
第3行目のB3:M3の範囲を月数字と同じかくり返しIFで聞くとか。
Match関数、Findメソッドでみつけるとか。
もあろう。
    • good
    • 0
この回答へのお礼

1番先に回答いただきました方をベストアンサーにさせていただきました。

専門的にVBAや関数を扱っていなく突発的に行わなければいけず、自己で悩み考え解決出来なかった部分を質問させていただきました、基礎が歯抜けになっているのは承知ですが少しずつですが精進してる次第です。
指摘とても身になりました、無知によるご無礼大変失礼しました、ご指導ありがとうございました。

お礼日時:2011/04/05 11:55

「どうにかTODAYを4や5などの月のみで認識させたいのですが、不可能でしょうか・・?」については・・・



=MONTH(TODAY())

とすれば月が返ってきますのでお試しください。
    • good
    • 0
この回答へのお礼

解決できました!ありがとうございました!
1番先に回答いただきました方をベストアンサーにさせていただきました。

お礼日時:2011/04/05 11:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング