仕事の種類が15ほど(仕事1、仕事2、など)あります。
エクセルで1年間の年月日を入力します。
仕事は、仕事1は40日ごと・仕事2は35日ごと・仕事3は50日ごと。。といったように周期で決まっております。それを仕事をやる最初の日付を入れると、それぞれの日付にあわせて、例えば仕事1の最初の日付が2006/8/4だとすると、その40日後の日付の横のセルに「仕事1」というようにそれぞれ表示させたいのです。
Vlookupで考えたのですが、ネストが7つまでしか出来ませんでしたので、断念しました。
何かよい関数や案など、どんなことでもよいので教えていただけませんか?
No.3ベストアンサー
- 回答日時:
2番で回答した者です。
書き忘れました。
先ほどの形式ですと、
仕事1はB列、仕事2はC列、・・・仕事15はP列までとなります。
また、仕事の周期(40日とか35日)を指定するセルを作って、さきほどのMOD関数の第2引数に当てはめると、周期が変更になったときにも対応しやすいかもしれません。
例)さっきの表形式から1行下げて、周期を入力する行(2行目)を作るということです。具体的には、
A3:A367 を2006/1/1~2006/12/31 とする。
B1 には、その年初めてその仕事をする日
B2 には、周期
B3 には、IF(MOD($B$1-A3,$B$2)=0,"仕事1","")
それでB3から一番下まで。
すごいです!!まさに希望通りでした。
周期が変わったときにも簡単に対応できるというところがすごいです。
このようなことを考えられるのがうらやましいです・・・
どうもありがとうございました。
No.5
- 回答日時:
考え方として配列関数を用いる方法が挙げられると思います。
WEEKDAY関数を利用して平日に1を、休日に0を配列内で割り付けます
さらに此にセルナンバーを掛け合わせます。
これの配列は「休日は0」ですからセルナンバーを掛けても0ですね、
LRAGE関数やSMALL関数でソートすると
0とそれ以外に分かれますので
即ちは平日と休日にセルナンバーが分けられますよね
この状態の配列からINDEX関数なので
40番目・80番目…
などに位置する配列要素を取り出せられれば
即ちそれが該当するセル位置の情報なので、
各位置のセルに設定された構文が
「自らのセル位置が該当するか?」を識別し判断することが可能になると思いますよ。
配列の扱いについては参考URLを参照頂ければ
至極容易く習得できると思いますので宜しくですよ
如何でしょうか?
参考になりましたでしょうか?
ところで
3つの仕事を一つの関数で表現しようとした場合、
任意の2つの仕事周期の最小公倍数で
仕事が必ずダブルブッキングしますよね?
「仕事がかぶった場合はどうするのか?」
という問題を解決する必要があると思いますよ
参考URL:http://pc.nikkeibp.co.jp/pc21/special/hr/index.s …
配列関数はちょうど勉強しようと思っていたので、とてもわかりやすい
URLを教えていただき、大変助かります。
こちらを見て、もっと勉強したいと思います。
どうもありがとうございました。
No.4
- 回答日時:
もう1つ力技
A列に日付、B列に曜日、C列に仕事の表示・・・と考えたとき以下のようにする。
・D列に仕事1を入力
・そのセルのその日を含めて縦40日分の行を選択
・40日目の右下のマークを12月31日の行までドラッグしてフィル
(40セル分の内容を繰り返しフィルされます)
・仕事1の横、E列に仕事2を入力
・そのセルのその日を含めて縦35日分の行を選択
・35日目の右下のマークを12月31日の行までドラッグしてフィル
・(以下仕事の数だけ繰り返し)
・C2に次の関数式を入力
=CONCATENATE(D2,E2,F2,G2,H2,I2,J2,K2,L2,M2,N2,O2,P2,Q2,R2)
・C2を12月31日の行までフィル
C列に仕事のテキストが表示されます。
CANCATENATEという関数を初めて知りました!
こんな関数があったんですね。
これは他にも使えそうです。。。
この関数を使えば、仕事が重なったとしても、ちゃんと表示されるので、ぜひ使いたいと思います。
どうもありがとうございました。
No.2
- 回答日時:
しろうとです。
あなたのシートの形式とあってるかわかりませんが、私はこうしてみました。
A2:A366 に「2006/1/1」から「2006/12/31」の日付を入れます。
B2セルには、 =IF(MOD($B$1-A2,40)=0,"仕事1","")
これをB366までドラッグ。
B1セルに、その年に初めてその仕事を行う日を入力。
B2セルの意味としては、
$B$1-A2・・・ その日が、その年に初めてその仕事を行う日から何日経ってるか。
MOD($B$1-A2,40)・・・MOD関数は割り算の余りを返します。したがって、$B$1-A2で求めた値を40で割ると、40日周期で回ってきたところが割り切れる。すなわち余りは0。
0になった日に「仕事1」を表示させる。そうでない日は空欄。
お察しのとおり、35日周期で表示したいなら、MOD(x,y) のyを35にするだけです。
いちおう試作して、お求めの結果が出るかご確認ください。
お役に立ててれば幸いです。シートの形式が違うようならすみません。
No.1
- 回答日時:
VBAでは簡単なのだが、関数では難しい。
あるセルめがけてデータを投げるイメージの処理はできない。VBAならCells(i,"A")=”ABCD"の i に最初の行を5として、5+40にして実行、5+40*2として実行で、5、45、85行・・・に行事文字列ABCDを代入できる。同じ日に2行事が重なっても、”ABCD" &”EFGE"をセットできる。
多分良い回答は原理的に出ないのではないかな。
私もVBAでないと無理なのかなと思ったんです。
今後、VBAを組むことを考えようと思っていたので、教えていただいて
大変ためになりました。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 飲食業・宿泊業・レジャー ただの愚痴です。 長文ですがご回答頂けると嬉しいです。 今日レストランの仕事2日目が終わりました。 3 2022/09/12 22:20
- 転職 もうすぐ40歳、今のアルバイトを続けるべきか、悩んでいます。 3 2023/04/15 16:03
- カップル・彼氏・彼女 独身の付き合いで、泊まりデートがないって変ですよね? 3ヶ月目の彼氏が泊まりデートせず毎回帰ります。 2 2022/09/08 22:46
- その他(恋愛相談) 無神経な彼氏の言動にモヤモヤします。 対処法教えてください。 付き合って1ヶ月未満、お互い今年24歳 5 2022/05/08 09:08
- 退職・失業・リストラ 新人がやばすぎて退職しますが、やるせません 3 2022/05/20 21:57
- Excel(エクセル) エクセルの条件付き書式について エクセルでカレンダーを作りました。縦に日付が並んでいて、横にスケジュ 3 2022/10/10 15:32
- 会社・職場 仕事に一切関わらないくせに 従業員が仕事を間違えたら マジギレ、ブチギレになり 損害は給料から天引き 6 2022/07/28 07:57
- 失恋・別れ 彼氏に考える時間が欲しいと言われました 10 2023/04/29 10:34
- その他(暮らし・生活・行事) 私の兄の仕事について。 栃木県住み。 40歳。年収は400万前後。 定時は0830から1730と普通 4 2023/03/17 06:10
- 事務・総務 求人についてお聞きしたいです。 6 2022/05/04 18:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数学 Tan(θ)-1/Cos(θ)について...
-
スマートな関数を教えて下さい。
-
Excel ウインドウ枠の固定をす...
-
EXACT関数とIF関数の組み合わせ...
-
4つのパターンを表示するEXACT...
-
関数を教えて下さい。
-
Excel:一部のフォントでセルの...
-
エクセルで指定した日付、店舗...
-
エクセルでセルに「氏名を入力...
-
Excel 2019 のピボットテーブル...
-
スプレッドシートの関数VLOOKUP...
-
エクセルで日付の入ったセルの...
-
Excelファイルの「数式」タブ→...
-
excelの不要な行の削除ができな...
-
Excelのif関数で文字が見えなく...
-
各ページの1番上の表示について
-
エクセル関数に詳しい方、教え...
-
INDIRECTを使わず excelで複数...
-
Excel 2019 は、SPILL機能があ...
-
UNIQUE関数が使えないバージョ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報