- ベストアンサー
エクセルで曜日指定のセル連続データを作りたい
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
#2の方に追加です。 セルの書式設定は m"月"d"日"(aaa) として A1セルから始めるとします。 A1に、1月31日を入力 A2に、+A1+2 (2/2) A3に、+A2+3 (2/5) A4に、+A3+2 (2/7) として、A2からA4を選択して フィルハンドルでOKだと思います。 A1は本当は必要ないのですが 計算式の関係で使っています。
その他の回答 (5)
- nishi6
- ベストアンサー率67% (869/1280)
#2 は日付書式の質問と勘違いしていました。日付が飛んでいましたね。 質問の曜日間隔は例だと思いますので、自由に曜日指定できるようユーザー定義関数を作ってみました。 最初のセル(例えばA1)に最初の日付を入れます。 その下のセル(A2になります)に例えば =youbiFil(A1,"火","木","土") とします。 ユーザー定義関数の引数は、参照するセル、曜日サイクルです。 曜日サイクルは、『"火","木","土"』のように設定します。 『"月","火","水","木","金"』なら土日は出ません。『"土"』しか設定しなければ土曜日しか出しません。 3つ目の日付以降はフィルハンドルを引っ張れば出てきます。列方向もできます。 Public Function youbiFil(rgUp As Range, ParamArray myYoubi()) '曜日のパターンを登録していなければ何もしない If UBound(myYoubi) < 0 Then youbiFil = "": Exit Function End If Dim yb As Integer '前のセルは指定した曜日サイクルの何番目? Dim maeYoubi As Integer '前のセルの曜日 Dim curYoubi As String 'カレントセルの曜日 Dim curDay As Date 'カレントセルの日付 '最初の日付の曜日が、指定した曜日サイクルと違っていれば何もしない maeYoubi = -1 For yb = 0 To UBound(myYoubi) If myYoubi(yb) = Format(rgUp, "aaa") Then maeYoubi = yb Exit For End If Next If maeYoubi = -1 Then youbiFil = "": Exit Function '前のセルの曜日の次は曜日サイクルのどこにあるか調べる If maeYoubi < UBound(myYoubi) Then curYoubi = myYoubi(maeYoubi + 1) Else curYoubi = myYoubi(0) End If '曜日が一致するまで日付を進める curDay = rgUp + 1 While Format(curDay, "aaa") <> curYoubi curDay = curDay + 1 Wend youbiFil = curDay End Function
お礼
ありがとうございました。 未熟者なのでまた質問をした時は、宜しくお願い致します。
- now2150
- ベストアンサー率50% (17/34)
再びRESです。(No.3で回答) 回答No.4のkenken0001さんのが、正解です。 最終的にできれば良いと、未熟なマクロを投稿してしまいました。 それにしても、簡単にできますね。発想が大事ですね。
お礼
ありがとうございました。私は、未熟なのでマクロはよく理解出来きません。
- now2150
- ベストアンサー率50% (17/34)
どうも簡単には出来ないようです。 ですが、マクロでできました。 まず、 例えば、セルA1に「2月1日」、セルB1に下記の式をコピペ(テキスト形式で)。 =IF(ISNUMBER(A1)=FALSE,"",IF(WEEKDAY(A1)=2,"(月)",IF(WEEKDAY(A1)=3,"(火)",IF(WEEKDAY(A1)=4,"(水)",IF(WEEKDAY(A1)=5,"(木)",IF(WEEKDAY(A1)=6,"(金)",IF(WEEKDAY(A1)=7,"(土)","(日)"))))))) (もし、HTMLでコピペした場合はセルB1、B2、B3のセルの結合を解除) セルの連続データのフィルハンドル 2月1日 (金) 2月2日 (土) 2月3日 (日) 2月4日 (月) 2月5日 (火) 2月6日 (水) 2月7日 (木) ・ ・ ・ そして、マクロに下記のコードをコピペして、実行すれば、できます。 最初の日付の曜日のセルをアクティブにすることと最後の日付の曜日のセルの下のセルは空欄である必要があります。 Sub 火木土抽出() '《条件》 '最初の日付の曜日のセルをアクティブにすること '最後の日付の曜日のセルの下のセルは空欄 Dim i As Integer Dim R As Integer Dim C As Integer i = 1 Do Until IsEmpty(Cells(i, 2).Value) If ActiveCell.Value = "(火)" Then ElseIf ActiveCell.Value = "(木)" Then ElseIf ActiveCell.Value = "(土)" Then Else R = ActiveCell.Row C = ActiveCell.Column Range(Cells(R, C - 1), Cells(R, C)).Select Selection.Delete Shift:=xlUp Cells(R, C).Select If ActiveCell.Value = "(火)" Then ElseIf ActiveCell.Value = "(木)" Then ElseIf ActiveCell.Value = "(土)" Then Else ActiveCell.Offset(-1, 0).Select i = i - 1 End If If ActiveCell.Row <> 1 Then ActiveCell.Offset(-1, 0).Select i = i - 1 Else End If End If ActiveCell.Offset(1, 0).Select i = i + 1 Loop Range("A1").Select End Sub
- nishi6
- ベストアンサー率67% (869/1280)
セルに 2/6 と入力して、そのセルを選択して セルの書式設定→表示形式→ユーザー設定で m"月"d"日"(aaa) とします。あとはフィルハンドルを引っ張ります。
- syo_2910
- ベストアンサー率21% (3/14)
こんにちは セルを分ければできそうです。 セルAに年月日をあらわす数字 例えば2/6を入力します。 (表示はセルの書式設定によって、お好みの 2月6日等へ変更します) 隣り合うセルBにWEEKDAYと言う関数を使い セルAを参照します。 例えばB1ならWEEKDAY(A1)のように。 そうすると曜日を表す数字が返ってきますので 後はIF関数等で曜日を示す文字(”日”、”月”等)へ 変換すればよいと思います。 連続して作成したい時はコピーでセルを移動すれば 日にちに対応した曜日になるはずです。
関連するQ&A
- Excel 曜日の連続データ作成
Excelでセルに月曜と入力しドラッグしてコピーして連続データ(月、火、水、木、金、土、日)を作りたいんですけど出来ませんでした。 どうやるんですか? 自分のなかで一番の理想をしては例として9月1日(月)これの連続データを作りたいんです。 これだと一番楽が出来るはずなんですがでも実際できるのかもわかりません。 その他にも何月何日と曜日を織り交ぜた楽な方法があったらぜひ教えてください。 曜日だけでも結構です。
- ベストアンサー
- 財務・会計・経理
- excel 連続データ入力 曜日
曜日を連続して入力したいのですが、うまくいきません。 月とだけ入力して下にドラックすれば月、火、水、木・・・とちゃんと連続してくれるのですが、 月曜と「曜」の字をたすと月曜、月曜、月曜と連続するだけです。 オートフィルオプションの選択項目のもセルのコピー、書式あり、なしの3つだけで 連続するデータなどを選択する項目がありません。 ちなみに月曜日と最後に「日」を付けるとちゃんと連続してくれます。 連続して曜日を入力する際、これは連続するけど こっちはしないみたいな決まりみたいなものがあるのでしょうか?
- ベストアンサー
- 会計ソフト
- エクセル2010で日付、曜日の表示法
エクセル2010で当日の日付、曜日を一つのセルに【10月8日(月)】と表示させるにはどの様な関数を用いれば良いのでしょうか。また、連続した日付、曜日はオートフィルすれば表示できますか。合わせてお教え下さい。お願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルで日付・曜日の入った表の作成方法が知りたい
エクセルで毎月の曜日と日付が入った表を作成したいです。 5月 1 火 2 (水) 3 (木) 4 (金) 5 (土) 6 (日) ・ ・ ・ 31 木 エクセル初心者です。 ↑上記のように、毎月、日付と曜日が入った表を作成しています。 この表は、土日・祝は色を赤色にし、()をつけてわかりやすくしなければなりません。 毎回手書きで作成しているのですが、簡単に作成できる関数などはありませんか? たとえば、2012年5月などと入力したら自動的に日付と曜日が入り、土日祝は赤色で()がつくように したいんですが、難しいでしょうか? 回答よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- 「エクセル」の曜日表示、土・日だけ赤字にしたいのですが…
「エクセル2000」を使用しています。 曜日を入力する時、セルに「月」と入れて、 フィルハンドルをつかんでドラッグすると 「火、水、木…」と自動で出来ますよね? 数ヶ月分作った中で、土曜と日曜だけを赤字にしたいのですが、 「Ctrl」キーで複数選択して、フォントの色を変える …というより簡単な方法はありませんか?
- ベストアンサー
- オフィス系ソフト
- エクセルで曜日表示をしたセルを参照した他のセルに文字を入れる事は出来ますか?
縦に氏名、横に日付と曜日を入れました 毎週同じ曜日を参照して休日設定をしたいのですがどうすればよいでしょうか? 下記のような感じです 鈴木は毎週火曜日休み 佐藤は毎週木曜日休み 山田は毎週水曜日休み 月が替わると曜日が変わるようにしてあります 1 2 3 4 5 6 7 8 9 10 11 月 火 水 木 金 土 日 月 火 水 木 鈴木 休 休 佐藤 休 休 山田 休 休 よろしくお願いします
- 締切済み
- オフィス系ソフト
- 曜日のみを表示させたいです。
_ 1|月| _ 2|火| _ 3|水| _ 4|木| _ 5|金| _ 6|土| _ 7|日| _ 8|月| _ 9|火| _ ・ ・ ・ と上のように日付は出さずに曜日だけを表示させ、カレンダーのように繰り返し表示したいのですが、全くわかりません。 わかる方いらっしゃいましたら、教えてもらえると助かります。
- ベストアンサー
- PHP
- Excelで週単位のセル連続データを作りたい
WinのExcel2000を使っています。 仕事の進捗を記録しようと思い、日付の入ったシートを作ろうとしています。 毎日の日付を記入するには、セルの連続データの入力を使って簡単に出来るのですが、土日は不必要な上、毎日の日付をセルに表示してあるとかえって見にくいので、週の頭、月曜日のセルだけに日付を入れようと思いました。 具体的には、 月 12/18 火 水 木 金 (一行空白) 月 12/25 火 と言うように続いてゆくカレンダーを1年分くらい必要なのですが、右ドラッグで出てくるメニューの週日単位と言うものでは出来ないみたいだし、いったいどのようにすれば簡単に出来るでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルで抜けている曜日を追加する方法?
エクセルの表で 曜日欄 データ欄 2007/9/24(月) 2007/9/25(火) 2007/9/26(水) 2007/9/29(土) こんな感じでところどころ抜けた日 があるデータ表があります。 抜けている日を自動的に追加して、 (つまり 日付け有り、データなしのセルを追加) 曜日が全てそろっているカレンダー的 データ表を作りたいのですが、 どうすればいいでしょうか?
- ベストアンサー
- オフィス系ソフト
お礼
ありがとうございました。未熟な私には、マクロはまだあまり理解出来ないので 適切な回答でした。エクセルを使いこなせないのでまた質問をした時は、宜しくお願い致します。