【EXCEL】効率的に職場のライン表を作成する方法

このQ&Aのポイント
  • 質問者は、excelで職場のライン表作成を任されました。効率的に作成するための方法を求めています。
  • 表作成のために関数を使用して、曜日ごとに業務内容と時間を自動的に反映させたいと考えています。
  • 勤務者は7名で、毎週同じサイクルで業務が行われます。関数を使用することで手入力を減らしたいと思っています。
回答を見る
  • ベストアンサー

表作成(EXCEL)

今回、excelで職場のライン表作成を任されまして、皆様のご意見をいただきたいと思いました。 単純な打ち込みはできるのですが、効率をあげるための手段として下記の方法を考えているのですが、詳しい方いましたらより良いアドバイスいただけると助かります。 <例> 例(sheet1)     A列     B列         C      D      E      F     G     H 時間         9:00     12:00  15:00  18:00  21:00  0:00  3:00  1行 勤務者1    a業務      d業務    c業務   2行 勤務者2              b業務  3行 勤務者3       例(sheet2)     A列     B列         C      D      E      F     G     H 時間         9:00     12:00  15:00  18:00  21:00  0:00  3:00  1行 勤務者1    b業務       c業務     a業務 2行 勤務者2    a業務         3行 勤務者3       sheet1に月曜 sheet2に火曜 ・・・といったように(わかりにくいかもしれませんが)曜日ごとに反映されるように関数を使用できれば手入力をせずとも済むのではと考えております。曜日ごとに業務内容の時間は違いますが毎週同じサイクルです。勤務者は7名で。 関数を使用してできる方法があればと考えております。

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

  • ベストアンサー
  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.2

>>・・・といったように(わかりにくいかもしれませんが)曜日ごとに反映されるように関数を使用できれば手入力をせずとも済むのではと考えております。 エクセルで見ているイメージと、このサイトで見ているイメージ(表示位置)にずれがあるので、確かに判りにくいです。何をどうしたいのか判りません。 ただ、たぶんエクセルで用意されている関数だけを使って作れなくは無いかもしれませんが、制限された機能の中で、やりたいことを実現するのは、なかなか難しいと思います。 これを機会にエクセルVBAのプログラムを勉強されたらどうですか? もしエクセルVBAを習得されれば、例えば、普通にやって3日間とか5日間かかるような仕事も、5分とか10分で終わらせることが可能になります。 「最終的に1万行のデータになる」あるいは「30シートになる」というエクセルの表とか、「こっちの表を見て、あっちの該当データを拾って、むこうのシートに結果を書いて・・・」 なんて作業を、手作業でやるとなれば、うんざりでしょう。 でも、VBAを使えば、速いですし、なにかの問題があって、シートの作り直しになっても、やり直しの作業はとても楽になります。 「エクセル表を作るために残業!」ってことが無くなります。

elmes3
質問者

お礼

VBAプログラムですね。専門的でよくわかりませんが使いこなせたら便利かもしれないですよね。手作業はたしかにうんざりですね。ありがとうございました。

その他の回答 (1)

  • yasuto07
  • ベストアンサー率12% (1344/10625)
回答No.1

全員が同じ能力なら、abcd abcd トヅラシテイケバヨイノデは。

関連するQ&A

  • EXCEL 勤務表作成(長文です)

    今回、新たに皆様の助力を戴きたく投稿いたします。 当方、職場の勤務表を作成することになり、ただ単に、打ち込むことは (誰でも)できるのですが、もう少し効率よくできないものかと模索しておる次第です。あくまで理想論として以下に例を記します。 宜しくお願い致します。 例(sheet1) A列|B列|C列|D列|E列|F列 勤務者1 |勤務者2 |勤務者3 日 |   |夜 |   |明 | (sheet2) A列|B列|C列|D列|E列|F列 勤務者1 |勤務者2 |勤務者3 8.0|   |   |9.0 |  |7.0 (伝わらないかもしれませんが)上記の様式を仮としまして・・・ 要領は(sheet1)の3行目~下に向かって各自の勤務形態を日々 「日(日勤)」、「夜(夜勤)」...etc のように打ち込んでいくと (sheet2)の3行目以下が自動で時間が表示されるようにしたいのです。 結果的には「勤務形態を打ち込んだsheet」と「実際の勤務時間が 打ち込んであるsheet」ができればいいのですが・・・ 質問は2点です。 (1)この理想は実現可能なんでしょうか? 可能であればどんな関数を使用するのでしょうか? (2)勤務者名が2行にまたがって表示しているのは意味がありまして、 合計時間の集計上「夜」や「明」(夜勤関連の勤務)は (sheet2)のように隣の行に表示させたいのです。 これも可能ですか?これが無理でも仮に(1)が可能ならば、 (sheet1)に打ち込む時点で隣の行に打ち込めば可能だと思うの ですが・・・ 繰り返しになりますが、ひたすら打ち込めば2枚のsheetを作成する ことは可能だと思います。ただ、勤務者がかなり多いことと、勤務階ごとに作成しなければならない状況がありまして、 なんとか効率よくできないものかと困っている次第です。補足はいくらでもしますので宜しくお願い致します。

  • Excel2013で出勤簿・賃金計算書の作成

    Windows 8.1 Excel 2013で各月の出勤簿から賃金計算をしておりました。 これまでごOKWAVEで指導を頂きながら順調に出来ましたが、問題が発生致しました。 ここからが質問ですが、ご指導をお願い致します。 只今、作業中のExcelの表を掲載し説明を受けるのが筋ですが、Excelの表の掲載方法が判らないため長文になりますが文書にて質問させて頂きます。 Excelの表の各列・各行・セルの状況は下記の通りで、計算式(関数)が入っています。 7行目は項目が入っており、 A列は月日・B列は曜日・C列は始業時刻・D列は終業時刻・E列は休憩時間・F列は勤務時間 ・G列は時間内勤務時間・H列は時間外勤務時間・I列は時間内支給額・J列は時間外支給額となっています。 8行目から5月1日~38行目が5月31日となっています。 B列の曜日には、関数(=TEXT(A8,"aaa")(以下関数を示します)が入っており、A列に2016/5/1と入力すれば、自動的にB列に日曜日と表示されます。 C列・D列・E列の各セルの勤務時間は、手動で入力します。 F列の勤務時間には、5:00と入力し、=IF(COUNT(C9:D9)=2,D9-C9-E9,0) G列の時間内勤務時間には、12:00と入力し、=IF(B9="日",0,MIN($F$45,F9))保護あり H列の時間外勤務時間には、=F9-G9保護あり I列の時間内支給額には、=G9*24*$E$42保護あり J列の時間外支給額には、=IF(B9="日",H9*24*$E$43,H9*24*$E$44) 保護あり A列・B列は入力後、保護する。 C列・D列・E列は保護せず、手入力のみです。 それ以外は、関数が入っているので保護あり 40行以降は、セルごとに関数が入っています。 C41セルに全勤務労働時間として、=SUM($F$8:$F$38) F41セルに全勤務労働時間として、=SUM($F$8:$F$38) C42セルに定時労働時間として、=SUM($G$8:$G$38) G42セルに定時労働時間として、=SUM($G$8:$G$38) I42セルに時間内支給額として、=SUM($I$8:$I$38) C43セルに休日労働時間として、 H43セルに時間外勤務時間として、=$C$43 J43セルに時間外支給額として、=SUMIF($B$8:$B$38,$D$43,$J$8:$J$38) C44セルに早出労働時間として、=SUM($H$8:$H$38)-$C$43 H44セルに時間外勤務時間として、=SUM($H$8:$H$38)-H43 J44セルに時間外支給額として、=SUM($J$8:$J$38)-$J$43 C45セルに勤労日数として、=COUNT($C$8:$C$38) F45セルに契約時間として、固定で08:00 J45セルに定時労働時間支給額として、=I42 J46セルに休日労働時間支給額として、=J43 J47セルに早出労働時間支給額として、=J44 J48セルに総支給額合計として、=SUM(J45:J47) D43セルに休日労働時間検索のための、日 時給関係は、  E42セルに定時労働時間時給として、769円(変更があるので、保護せず)  E43セルに休日労働時間時給として、1,039円(変更があるので、保護せず)  E44セルに早出労働時間時給として、962円(変更があるので、保護せず) 現在、入力されている関数等は上記の通りです。 参考事項ですが、 日曜日以外は、平日の時給と同額で自動的に計算するように公式を入れていましたが、この度、祝日も日曜日と同額で計算するように関数を入れたいのですが、良い方法があればご指導をお願い致します。 勝手を申しますが、よろしくお願い致します。 説明不足で理解し難いかもしれませんが、よろしくお願い致します。 長文になりましたがご容赦下さい。 よろしくお願い致します。

  • Excel2000を使って簡易勤務表を作成したい

    勤務表についてはいくつもこちらで出ているのですが、申し訳ありません、改めて質問させてください。   A    B C 1佐藤さん|鈴木さん|山本さん| 2 10:00 | 12:00 | 18:00 | 3 18:00 | 21:00 | 21:00 | 4 1:15 | 1:15 | 0:15 | 5 (1) | (2) | (3) | (1)~(3)…実質的に(1が判れば大丈夫とも思いますが) 2行目は業務開始時間 3行目は業務終了時間 4行目は休憩合計時間 5には、(終了時間-開始時間)-休憩時間 つまり、実質の勤務時間を出したいのです。 ただ、関数などあまりわからないため、途方にくれている次第です…。 ご教授よろしくお願いいたします。

  • Excelでの日別ガントチャート作成方法作成

    Excel2007を使用してシート1では以下のような月次勤務表を作成しております。このシート1の月次の勤務表は縦軸に30人ほどの氏名、横軸に日にちを展開しております。この表をもとに、8/1に勤務するものをピックアップして、シート2でガントチャートを作成したいのですが どなたかご教授いただけないでしょうか? なお、月次勤務表の横軸の日付と曜日は、月が変われば、自動で変わるように作成しております。 月次勤務表例(シート1)      A列   B列  C列      D列   E列    F列    G列・・・・・・・・・AG列 1行目 2012年8月 3行目 No 氏名 種別 1 2 3 4・・・・・・・・・・・・31 4行目           水 木 金 土 5行目 1  A氏   出勤    9:00          11:00 6行目          退社 17:00       16:00 7行目         休憩 0.5 0.25 8行目         実働 7.5 0.00 4.75 0.00 9行目 2       B氏   出勤    9:00    10:00       ・              退社 17:00 15:00       ・            休憩 1.0 0.25 ・            実働 7.00 4.75 0.00 0.00 この月次シートから、別シートに例えば、8/1に勤務するものと、その時間帯をガントチャート形式 で表示するための関数をご教授いただければ幸いです。

  • Excel 勤務管理表の作成

    Excel2000で勤務管理表を作成しようとしています。 If関数を使って作成しようとしているのですが、うまくいきません。 わかりにくい説明ですが、よろしくお願いします。 A列に実働時間。(昼休みは抜いています)を入力するとB列C列に自動で入るようにしたいです。 B列に7.75内(通常勤務)の時間が入るようにする。 C列に残業時間が入るようする。 ※7.75hを過ぎると0.25h休憩をしなくてはならず、残業は8時間からしかつきません。 (例) A列       B列     C列 実働時間    7.75内    残業 7.75       7.75      0 8          7.75     0 8.25        7.75     0.25

  • EXCELでマクロを使用して表を作成するには?

    EXCEL2000にて、“マクロ”を使って必要事項を入力すれば、下記のような流れで自動的に表を作成することは可能でしょうか? 1.必要事項を入力。     A列    B列      C列 A行 (工事名) (名前)  (作業時間) B行  下水    タナカ    10.0 C行  下水    ヤマダ    8.0 D行  上水     スズキ    5.5 E行  道路    スズキ    2.0 F行  道路    タナカ    4.5 G行  上水    カトウ    15.0 2.別のシートに1で入力した内容を集計     A列  B列   C列    D列   E列 A行      タナカ  ヤマダ  スズキ  カトウ  B行  下水  10.0   8.0     0.0    0.0 C行  上水   0.0    0.0     5.5   15.0 D行  道路   4.5    0.0    2.0    0.0 私自身は関数(SUMPRODUCT)かピボットテーブルでなら、どうにか作成できるのですがマクロに関しては初心者で、ほとんどわかりません。 現在、入門書を購入して最初の項目を勉強中ですが、業務上、急いで作成しないといけないため、どなたかお教えいただけないでしょうか? どうぞよろしくお願いいたします。

  • エクセルのデータ比較

    シート1のA行のデータとB行のデータをすべて比較して、同じデータがあれば C列にそのデータを書き出したいのですが、どうすればよろしいのでしょうか。 行数(比較するデータの数)はそれぞれ数千行あります。 例(a~hはデータです) シート1     A列 B列 a c b d  c f d h の場合、比較した結果をC列に次のように表示させます。 A列 B列  C列 a c c b   d d c f d h どなたかよろしくご教示くださるよう、お願いします。

  • 賃金台帳の作成について

    ご存知の方、ご指導の程よろしくお願い致します。 使用機種等は、Windows 8.1 Excel 2013 を使用しています。 長文での申し訳ありません。最後まで読んでください。 賃金台帳作成中のエクセルの表で説明を求めるのが筋ですが、OKWaveで表示する方法が判らずWordでは理解し難いでしょうがよろしくお願い致します。 A列  B列  C列  D列   E列  F列  G列   H列  I列   J列 を使用 1行目、月日 曜日 始業時刻 終業時刻 休憩時間 勤務時間 時間内 時間外 時間内支給額 時間外支給額 下記の様に表示されていますが、確認と併せて見て下さい。 2行目 1月1日 木 5:10 17:00 1:00 10:50 8:00 2:50 8,000 16:00 3行目 1月2日 金 5:30 16:00 1:00  9:30 8:00 1:30 8,000 0,00 4行目 1月3日 土 5:10 16:30 1:00 10:20 8:00 2:20 8,000 16:00 5行目 1月4日 日 5:00 12:00 0:00 7:00 0:00 7:00 0,000 7,700 参考ですが、各列には関数が入っています。 B列(曜日)は、=TEXT(A8,"aaa") C列(始業時刻)・D列(終業時刻)・E列(休憩時間)は、いずれも手入力です。 (最小で10分単位です) F列(勤務時間)は、=IF(OR(C2="",D2=""),"",D2-C2-E2) G列(時間内)は、=IF(F2="","",IF(F2>$J$44,$J$44,F2)) H列(時間外)は、=IF(OR(F2<=$J$44,F2=""),"",F2-G2) I列(時間内支給額)は、=IF(G2="","",G2*24*$E$41) J列(時間外支給額)は、=IF(H2="","",H2*24*$E$41*1.25) セルが見えませんが、 セルE41(平日の8時間内時給)が、1,000円です。 8時間以上の時間外賃金は、時間内時給1,000*1.25です。 契約時間は、セルJ44に8:00 と入力されています。 特に質問ですが、日曜日の場合のみ何時から何時間勤務をしても、全てが時間外勤務扱いになり、セルE42に時給1,500円を入れています。 カレンダー日曜日に対しセルD42の日に対応するものの合計をもとめます。 関数は、C42=SUMIF($B$8:$B$38,$D$42,$I$8:$I$38) としてあります。 最後に、現在私の関数よりも簡単で推薦されるものがありましたら教えて下さい。 この説明でご理解が頂けるか少し疑問ですが、よろしくお願い致します。 夜分遅く申し訳ありません。

  • EXCEL表の文字列が対象セル内に含まれるか

    シートAのB2の文字列が000-みかん_東京_001とあるとして、 シートBのB2:りんご、B3:みかん、B4:いちご C2:横浜、C3:東京、C4:名古屋 D2:赤、D3:青、D4:白 という表があるとします。 シートAのB2セルにシートBのB列とC列から両方含まれる行を探し、D列の値を取得したいのですがどのような関数を利用するのが望ましいでしょう? ちなみに、シートAのB2が調査文字でC2を答えとして、調査対象の行を追加していきたいと思ってます。 お知恵をおかしいただければ幸いです(^^)

  • 抽出した表でデータをカウントしたいのですが・・・

    タイトルにあるとおり、あるデータをオートフィルで抽出した状態で、その抽出結果からデータをカウントしたいのです。 以下のような表があったとします。    A  B  C  D  E   F  G  H  I 1  ○           ○  ○  ○ 2     ○  ○     ○        ○ 3        ○  ○  ○  ○ 4  ○  ○     ○     ○ 5     ○            ○  ○    ○ 6     ○  ○     ○        ○ 7  ○        ○        ○     ○ 8     ○  ○     ○        ○ 9  ○        ○  ○     ○ この表では、仮に各行○が4つとして、ランダムに各列に○が振り分けられています。 A列・4個、B列・5個、C列・4個、D列・4個、E列・6個、F列・4個、G列・4個、H列・3個、I列・2個 という状態です。    A  B  C  D  E   F  G  H  I 1  ○           ○  ○  ○ 2     ○  ○     ○        ○ 3        ○  ○  ○  ○ 4  ○  ○     ○     ○ 5     ○            ○  ○    ○ 8     ○  ○     ○        ○ 9  ○        ○  ○     ○ ある条件でオートフィルによって、抽出した結果が上の表です。 今回の例では6,7行が消えた状態だったとします。 それぞれ、A列・3個、B列・4個、C列・3個、D列・3個、E列・5個、F列・4個、G列・3個、H列・2個、I列・1個 と、いう結果になりました。 このような状態になった表で最下段、この場合9から上に向かって3行分の○をカウントするような方法、または便利な関数はありますでしょうか? 今回の例ですと、最下段から、3行分、5、8、9のそれぞれの列の○をカウントするという感じです。 A列・1個、B列・2個、C列・1個、D列・1個、E列・2個、F列・1個、G列・2個、H列・1個、I列・1個 これが今回の例における求めたい結果です。 抽出してない状態でしたら、OFFSET関数でいけるのですが、抽出した状態からだと私のスキルでは解決できません。 どなたか、ご存知の方ご教示よろしくお願いします^^;