- ベストアンサー
エクセルで月を入力すると、その月の日と曜日が自動で表示されるようにしたい
こんばんは。 下記の例のように、エクセルで月を入力するとその月の日と曜日(曜日を括弧でくくって表示)が自動で表示されるようにしたいのですが方法がわかりません(西暦や年号は表示しない)。 どうか教えていただきたく、お願い致します。 (例) A1 4月 A2 1日(木) A3 2日(金) ・ ・ A31 30日(金)
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは^^ そこまで必要なければ、ばっさりスルーして下さいね^^ 普段私が使っている方法です。去年とか来年とかにも、すぐ対応♪ 【A1】セルの書式設定はユーザー定義で 「 m"月" 」にする。 【A1】には、「 4/1 」と入力する。 ※今年以外の時は、2009/1/1 の形で入力する。 【A2】【A3】セルの書式設定は、先の方々同様「 d"日"(aaa) 」 【A2】セルには、「 =A1 」と入力する。 【A3】セルには、「 =IF(A2<>"",IF(MONTH(A2+1)<>MONTH($A$1),"",A2+1),"") 」と入力する。 【A4】から【A32】までは、【A3】をコピーして貼り付け。 以上です^^
その他の回答 (3)
- tom04
- ベストアンサー率49% (2537/5117)
No.2です! たびたびお邪魔します。 補足に >・・・後々困るようなことはないでしょうか。 とありましたので顔をだしてしまいました。 その数式だとまったく問題ないと思います。 数式内の ROW(A1)の部分に関しては ROW(A1)=1 ということですので、これをオートフィルで下へコピーするにしたがって、 ROW(A2)=2 ROW(A3)=3 ROW(A4)=4・・・という具合にDATE関数のDAYの部分のみが 1行オートフィルでコピーするたびに「1」ずつ増えていくことになります。 YEAR と MONTH 部分は変動ありませんので A1セルが TODAYであればまず困ることはないと思いますよ。 この程度でよろしかったでしょうかね?m(__)m
お礼
ご回答ありがとうございました。 下記の方法で解決致しました。 A1=4 ※[セルの書式設定][表示形式]を[ユーザー定義]で 0"月" A2=IF(MONTH(DATE(YEAR(TODAY()),$A$1,ROW(A1)))=$A$1,DATE(YEAR(TODAY()),$A$1,ROW(A1)),"")
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! No.1さんの方法と重複すると思いますが・・・ ↓の画像でA1セルに月の数値を入力すればA2以降に表示されるようにしています。 とりあえず、今年(2010年)の場合の数式です。 A2セルの表示形式はユーザー定義から d"日"(aaa) としておきます。 そしてA2セルに =IF(MONTH(DATE(2010,$A$1,ROW(A1)))=$A$1,DATE(2010,$A$1,ROW(A1)),"") という数式を入れ、オートフィルで31日のA32セルまでコピーします。 これで大の月・小の月にも対応できるはずです。 以上、参考になれば幸いです。m(__)m
お礼
ご回答ありがとうございました。 下記の方法で解決致しました。 A1=4 ※[セルの書式設定][表示形式]を[ユーザー定義]で 0"月" A2=IF(MONTH(DATE(YEAR(TODAY()),$A$1,ROW(A1)))=$A$1,DATE(YEAR(TODAY()),$A$1,ROW(A1)),"")
補足
ご回答ありがとうございます。 ご回答を参考にして、A1を【=TODAY()】とし、A2を【=DATE(YEAR($A$1),MONTH($A$1),ROW(A1))】としたところ(A3以下はA2のコピー)、上手く表示されましたが、後々困るようなことはないでしょうか。 度々申し訳ございませんが、ご回答をお願い致します。
- mshr1962
- ベストアンサー率39% (7417/18945)
年はPCの現在年月日のものでいいのですね。 A1=4 ※[セルの書式設定][表示形式]を[ユーザー定義]で 0"月" とする。 A2=IF(MONTH(DATE(YEAR(TODAY(),$A$1,ROW()-1))=$A$1,DATE(YEAR(TODAY(),$A$1,ROW()-1),"") ※[セルの書式設定][表示形式]を[ユーザー定義]で d"日("aaa")" とする。 でA2をA32までコピー
お礼
ご回答ありがとうございました。 下記の方法で解決致しました。 A1=4 ※[セルの書式設定][表示形式]を[ユーザー定義]で 0"月" A2=IF(MONTH(DATE(YEAR(TODAY()),$A$1,ROW(A1)))=$A$1,DATE(YEAR(TODAY()),$A$1,ROW(A1)),"")
補足
こんばんは。 ご回答いただいた関数を貼り付けましたが、【入力した関数が正しくありません】と表示されます。 ご回答を参考にして、A1を【=TODAY()】とし、A2を【=DATE(YEAR($A$1),MONTH($A$1),ROW(A1))】としたところ(A3以下はA2のコピー)上手く表示されましたが、後々困るようなことはないでしょうか。 度々申し訳ございませんが、ご回答をお願い致します。
お礼
ご回答ありがとうございました。 下記の方法で解決致しました。 A1=4 ※[セルの書式設定][表示形式]を[ユーザー定義]で 0"月" A2=IF(MONTH(DATE(YEAR(TODAY()),$A$1,ROW(A1)))=$A$1,DATE(YEAR(TODAY()),$A$1,ROW(A1)),"")
補足
ご回答ありがとうございます。 ご回答を参考にして、A1を【=TODAY()】とし、A2を【=DATE(YEAR($A$1),MONTH($A$1),ROW(A1))】としたところ(A3以下はA2のコピー)、上手く表示されましたが、後々困るようなことはないでしょうか。 度々申し訳ございませんが、ご回答をお願い致します。