Excelでログイン・ログオフの集計方法

このQ&Aのポイント
  • Excelを使用して、ログイン・ログオフの集計を行いたいです。1か月間のログデータを人別・日別に集計し、使用状況を把握したいです。
  • ログイン・ログオフの集計方法をExcelで行いたいです。新しい日時のログインをログインとして集計し、古い日時のログオフをログアウトとして集計することで、使用状況を把握します。
  • Excelを使用してログイン・ログオフのデータを集計する方法を教えてください。1か月間のログデータを人別・日別に集計し、使用状況を分析するために必要です。
回答を見る
  • ベストアンサー

Excelでログイン・ログオフの集計をしたいです

突然の質問、申し訳ありません。 もし良い方法があれば教えていただきたいです。 添付画像「Sheet1」のようなログが書かれているシートを「Sheet2」のような表にまとめたいです。 各社員のパソコンの使用状況を知るために、1か月間のログイン・ログオフのログを取得しました が、人別・日別に集計する良い方法はないでしょうか。 1日の間に何度もログイン・ログオフをを繰り返している社員は、  ログイン :日時が新しい  ログオフ :日時が古い データを「Sheet2」に反映させたいです。 WEBでいろいろと検索してみましたが、日別集計するための情報がうまく見つけられません でした。 すみませんが、よろしくお願い致します。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

>作業列を2列にした場合、ログオフ時間が表示されなくなってしまったので  「ログオフ時間が表示されなくなってしまった」とし書かれておられないという事は、ログオン時間の方は表示されているという事なのでしょうか?  もしそうであるなら、以前仰っておられた >別のCSVからSheet1にコピーした際には、ログイン名・表示名・ログオンも表示されなくなり という状況と比べればログオン時間が表示される分だけ改善されている事になるというのに、何故、 >いったんその手前まで戻させていただきました。 という様な事をされたのでしょうか? >どのようなパターンの時に、ログイン名・表示名・ログオンとオフの時間が表示されたりされなかったりするのかいろいろ試しています。  Sheet1に存在しているログイン名や表示名までもが、Sheet2に表示されない場合があるという事なのでしょうか?  ログイン名や表示名はSheet1にログイン名が最初に現れた行の行番号が小さい物から順番に表示される様になっている筈ですが、そうなってはいないのでしょうか?  ログインとログオフの時間に関しては >ログイン :日時が新しい >ログオフ :日時が古い という条件でしたので、Sheet2の3行目の所で指定されている日において、最も遅い時刻にログインしたログイン時間と、最も早い時刻にログオフしたログオフ時間のみが表示され、その日にログインが行われなかった場合にはログイン時間は表示されませんし、その日にログオフが行われなかった場合にはログオフ時間は表示されません。  後、御質問内容にはログインとログオフに関してしか触れておられず、ログオンやログアウトに関しては何も触れておられなかったので、もしもSheet1のK列にログオンやログアウトと入力されている様なものがあったとしましても、それらを反映させるような関数にはしておりません。  後、一見するとログインやログオフと入力されている様に見えていても、「ログイン」や「ログオフ」という文字列の前後に空白スペースが付いている場合や、「印刷されない文字」が含まれている様な場合も、やはりログインやログオフとは見做されません。  後、ログイン時刻やログオフ時刻が表示されない場合に関してですが、Sheet3のA列とB列上にはその日時を表すシリアル値がちゃんと表示されているのかどうかという情報を御知らせ願います。(Sheet3においてその日時のシリアル値が表示されているべき場所は、Sheet1でその時刻が入力されているのと同じ行です)  以上御確認願います。

その他の回答 (4)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

>日付については、ご指摘いただいたSheet3のA列には、表示されますがSheet2には、反映されてないです。  その「Sheet2には、反映されてない」場合において、Sheet3のA列に入力されている関数とは、 =IF(OR(INDEX(Sheet1!$E:$E,ROW())="",$B2=""),"",INDEX(Sheet1!$E:$E,ROW())&"◆"&COUNTIFS(Sheet1!$E:$E,INDEX(Sheet1!$E:$E,ROW()),$B:$B,"<"&$B2)+COUNTIF(Sheet1!$E$2:INDEX(Sheet1!$E:$E,ROW()),INDEX(Sheet1!$E:$E,ROW()))&"◇"&IF(COUNTIFS(Sheet1!$E:$E,INDEX(Sheet1!$E:$E,ROW()),Sheet1!$K:$K,INDEX(Sheet1!$K:$K,ROW()),$B:$B,">="&INT($B2),$B:$B,"<"&INT($B2)+1,$B:$B,IF(INDEX(Sheet1!$K:$K,ROW())="ログイン",">","<")&$B2),"×",INDEX(Sheet1!$K:$K,ROW()))&"◆"&INT($B2)&"◇"&COUNTIF(A$1:A1,"*?◆1◇*?")+1) の方ではなく、それよりも前に提示した関数の事でしょうか?  それでSheet3のA列に日付(シリアル値)を含んだ文字列が表示されるとなりますと、Sheet2にコピーしたCSVのシートのG列に入力されている日付を表しているデータに関する >「改行を指示する制御文字」等の何らかの「印刷されない文字」を含んだ という私の推測は外れていた様です。  但し、 >日付を表すシリアル値のデータではなく >文字列データである という点においては間違いでは無かったという確信がほぼ得られました。  確認のためにそのSheet2のG列のセル内における横方向の配置を[標準]([ホーム]タブの[配置]グループの所にある[文字列を左に揃える]、[中央揃え]、[文字列を右に揃える]の何れもが選択されていない状態)に設定してみて下さい。  それでもし日時の表示が左端に偏る様でしたら、それは日時を表すシリアル値データではなく、文字列のデータという事になります。(日時を表すシリアル値データならば、配置を[標準]とした際に、数値データと同様に右端に偏ります)  例え、セルの書式の表示形式が「yyyy/mm/dd h:mm」となっていたとしても、文字列データを入力する事は可能ですから、一見すると日付データに見えても、実際には文字列データである事はあり得る訳です。  例えば、セルの書式の表示形式が[文字列]に設定されている状態で日時や数値を入力し、入力し終えてから、表示形式を[標準]、[数値]、[日付]等に変更しても、データは文字列データのままです。  又、数値や日時の先頭に「'」(アポストロフィー)を付けますと、数値や日時のデータが文字列データに変換されます。  その様な文字列データ化した数値や日時は、「'」(アポストロフィー)が外れた状態にした上で(但し、Excelの置換機能では、この「'」を取り除く事は出来ません)入力し直しますと、通常の数値や日時のデータに戻す事が出来ますが、データ数が多い場合には、一つずつ入力し直していたのでは手間が掛かり過ぎます。  その様な場合には、以下の参考URLのページに記されている方法を使えば、まとめて数値や日時のデータに戻す事が出来ます。 【参考URL】   なんだ!カンタン!Excel塾 > エクセル技中級2 > 文字列を数値に変える   http://kokodane.com/tec2_46.htm  そして、文字列データ化しているSheet2のG列のデータを、日時のデータに戻してあげれば、回答No.3の後半で提示した方法を使うまでもなく処理を行う事が可能となる筈です。  只、CSVからコピーする度に、一々、手動日時のデータに戻すのも面倒な話ですので、回答No.3の >2.Sheet1の日時の書式 よりも下の所で提示した方法で各関数を組んでから、そのままCSVからコピーしたデータを放り込んだ方が手間が掛からない分、楽だと思います。  そうすれば、日時のデータに戻さずとも、そのまま処理を行う事が可能な筈です。  因みに、Sheet2のG列のデータが「印刷されない文字」を含んではおらず、単純に「'」が先頭付いていたり、書式が文字列の時に入力されたものであったりする事により文字列データ化しただけのものである場合で、尚且つ、その文字列データの状態で「yyyy/mm/dd hh:mm」の表示形式で表示したのと同じ形式の文字列となっていた場合には、作業列を1行で済ます方法もあるにはあったのですが、御質問の件では「yyyy/mm/dd hh:mm」ではなく「yyyy/mm/dd h:mm」(hが1つだけ)の形式となっている様ですし、また、文字列の途中に含まれている「スペース」(空白)の個数が、もしも0時~9時59分の場合と10時~12時59分の場合とでは異なっていた場合には、正しく処理出来なくなる恐れもありましたので、リスクを避けるために作業列を2列に分けております。

720858
質問者

補足

kagakusukiさん、いつもありがとうございます。 報告が遅くなり、申し訳ありません。 実は、指導いただいた内容を試しているのですが、まだうまくいっていません。 お恥ずかしい限りです。 どのようなパターンの時に、ログイン名・表示名・ログオンとオフの時間が表示されたり されなかったりするのかいろいろ試しています。 ご指導頂いた内容では、作業列を2列にするの直前まで完了しています。 作業列を2列にした場合、ログオフ時間が表示されなくなってしまったので、いったん その手前まで戻させていただきました。 ただ、今はなんともいえないのですが、 一度Sheet2に表示された、ログイン名・表示名であれば、Sheet1の同じログイン名・表示名 をコピーする事で、その日以降のログイン・ログオフ時間が表示できることがわかりました。 (日時は、CSVからのコピー・Sheet1への貼付けでも表示されます。) なんとなくですが、Sheet2にログイン名・表示名が表示されるか・されないかがキーでは ないかと思い試行錯誤中です。 (ただ、Sheet2には表示されていない内容は、Sheet3には表示されています。) そしてもう一つ分かった事は、 Sheet2に表示されているにログイン・ログオフ時間は、Sheet1のログイン・ログオフ時間 をコピーして別のログイン名・表示名の後ろに貼り付ければ、Sheet2に反映される事です。 本当にいつもご回答いただきありがとうございます。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

>1.ログオフの項目が表示されない  何度も申し訳御座いません。その事に関しては >Sheet2のC5セルをコピーして、Sheet2のD5セルに貼り付けて下さい。 という箇所が間違っておりました。  Sheet2のC5セルに入力する関数が =IF(COUNTIF(Sheet2!$A:$A,$A5&"◆*?◇"&C$4&"◆"&C$3&"◇*?"),INDEX(Sheet1!$G:$G,MATCH($A5&"◆*?◇"&C$4&"◆"&C$3&"◇*?",Sheet2!$A:$A,0)),"") である事は間違いでは無かったのですが、Sheet2のD5セルに入力する関数は僅かに違っておりまして =IF(COUNTIF(Sheet3!$A:$A,$A5&"◆*?◇"&D$4&"◆"&C$3&"◇*?"),INDEX(Sheet1!$G:$G,MATCH($A5&"◆*?◇"&D$4&"◆"&C$3&"◇*?",Sheet3!$A:$A,0)),"") でした。  現在、Sheet2のD5セルに入力されている関数において参照先がD$3となっている箇所は、正しくはC$3を参照する様にしておかねばなりませんでした。  ですから、Sheet2のD5セルに上記の2つ目の関数を入力してから、Sheet2のC5セルと同じ書式設定を設定し て下さい。  そして、その後の >次に、Sheet2のC5セルをコピーして、Sheet2のD5セルに貼り付けて下さい。 という操作は行わずに、そのまた次の >次に、Sheet2の5行目をコピーして、6行目以下に貼り付けて下さい。 という操作に進んで下さい。  只、これでは質問者様以外の誰かが、Sheet2のC5セルの関数とD5セルの関数の違いに気づかずに、誤ってC5セルの関数をD列を含む「ログオフ」の下のセルに貼り付けて、D5セルの関数を消してしまう恐れもあるかも知れませんので、別の方法として、Sheet2のC5セルに入力する関数を次の様なものに変更するのも良いかも知れません。 =IF(COUNTIF(Sheet3!$A:$A,$A5&"◆*?◇"&C$4&"◆"&SUM(B$3:C$3)&"◇*?"),INDEX(Sheet1!$G:$G,MATCH($A5&"◆*?◇"&C$4&"◆"&SUM(B$3:C$3)&"◇*?",Sheet3!$A:$A,0)),"")  これならば、B$3:C$3のセル範囲において日付や数値が入力されているのはC3セルだけですので、SUM(B$3:C$3)の部分が返す値はC3セルに入力されている日付を表すシリアル値となりますし、上記の関数をD5セルにコピー&ペーストした際にもSUM(C$3:D$3)となって、やはりC3セルに入力されている日付を表すシリアル値を返す事になります。(但し、現在は「表示名」という文字列データが入力されているB3セルに入力する値を別のものに変更する様な事があっても、数値データを入力しない事が前提です) >2.Sheet1の日時の書式 >ただ、別のCSVからSheet1にコピーした際には、ログイン名・表示名・ログオンも表示されなくなり、直接入力した日時セルを貼り付けると表示されます。  その場合、Sheet3のA列にはどの様な値が表示されているのでしょうか?  もしかしますと、何も表示されなくなってはいないでしょうか?  もし何も表示されなくなっていた場合には、そのCSVに入力されている日付は日付を表すシリアル値のデータではなく、例えば「改行を指示する制御文字」等の何らかの「印刷されない文字」を含んだ文字列データである可能性があります。(断言は出来ませんが)  もしそのような文字列データだった場合には、セルの書式設定の表示形式を[標準]にしても、表示が数値ではなく日付のままとなる筈です。  それで解決方法ですが、Sheet3の作業列をもう1列増やし、まずSheet3のB2セルに次の関数を入力して下さい。 =IF(ISERROR(1/DAY(CLEAN(INDEX(Sheet1!$G:$G,ROW()))+0)),"",CLEAN(INDEX(Sheet1!$G:$G,ROW()))+0)  次に、Sheet3のA2セルの関数を次のものと差し替えて下さい。 =IF(OR(INDEX(Sheet1!$E:$E,ROW())="",$B2=""),"",INDEX(Sheet1!$E:$E,ROW())&"◆"&COUNTIFS(Sheet1!$E:$E,INDEX(Sheet1!$E:$E,ROW()),$B:$B,"<"&$B2)+COUNTIF(Sheet1!$E$2:INDEX(Sheet1!$E:$E,ROW()),INDEX(Sheet1!$E:$E,ROW()))&"◇"&IF(COUNTIFS(Sheet1!$E:$E,INDEX(Sheet1!$E:$E,ROW()),Sheet1!$K:$K,INDEX(Sheet1!$K:$K,ROW()),$B:$B,">="&INT($B2),$B:$B,"<"&INT($B2)+1,$B:$B,IF(INDEX(Sheet1!$K:$K,ROW())="ログイン",">","<")&$B2),"×",INDEX(Sheet1!$K:$K,ROW()))&"◆"&INT($B2)&"◇"&COUNTIF(A$1:A1,"*?◆1◇*?")+1)  次に、Sheet3のA2~B2のセル範囲をまとめてコピーして、同じ列の3行目以下に貼り付けて下さい。  次に、Sheet2のC5セルの関数を次のものと差し替えて下さい。 =IF(COUNTIF(Sheet3!$A:$A,$A5&"◆*?◇"&C$4&"◆"&SUM(B$3:C$3)&"◇*?"),INDEX(Sheet3!$B:$B,MATCH($A5&"◆*?◇"&C$4&"◆"&SUM(B$3:C$3)&"◇*?",Sheet3!$A:$A,0)),"")  そして、Sheet2のC5セルをコピーして、Sheet2のD5~BL5のセル範囲に貼り付けて下さい。  次に、Sheet2の5行目をコピーして、6行目以下に貼り付けて下さい。

720858
質問者

お礼

kagakusukiさん、返信ありがとうございます。 なんとお礼をいってよいかわかりません。 頂いた、内容でログオフの表示がうまくいきました。 日付については、ご指摘いただいたSheet3のA列には、表示されますが Sheet2には、反映されてないです。 Sheet1の日時を変更すると、Sheet2のログイン名や、表示名ごと行が消えてしまいます。 ただ、 >それで解決方法ですが、Sheet3の作業列をもう1列増やし、 >まずSheet3のB2セルに次の関数を入力して下さい。 以下に教えていただいた内容は、まだ試していませんので月曜日に状況を報告させて 頂きたいと思います。 いつも本当にありがとうございます。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

>ご返信頂いた通り、作成をこころみましたが「Sheet2」のログイン名や表示者は 0 で表示、ログイン・ログオフのセルは、 0:00 で表示されています。  申し訳御座いません、回答欄に書き込む際に何か操作ミスを犯したらしく、Sheet2に入力する関数の中で指定している参照先のシート名を一部間違えて、Sheet3とすべき所がSheet2になっておりました。  Sheet2のA5セルに入力する関数は =IF(ROWS($A$5:$A5)>COUNTIF(Sheet2!$A:$A,"*?◆1◇*?"),"",INDEX(Sheet1!$E:$E,MATCH("*?◆1◇*?◇"&ROWS($A$5:$A5),Sheet2!$A:$A,0))) ではなく =IF(ROWS($A$5:$A5)>COUNTIF(Sheet3!$A:$A,"*?◆1◇*?"),"",INDEX(Sheet1!$E:$E,MATCH("*?◆1◇*?◇"&ROWS($A$5:$A5),Sheet3!$A:$A,0))) でした。  同様に、Sheet2のC5セルに入力する関数は =IF(COUNTIF(Sheet2!$A:$A,$A5&"◆*?◇"&C$4&"◆"&C$3&"◇*?"),INDEX(Sheet1!$G:$G,MATCH($A5&"◆*?◇"&C$4&"◆"&C$3&"◇*?",Sheet2!$A:$A,0)),"") ではなく =IF(COUNTIF(Sheet3!$A:$A,$A5&"◆*?◇"&C$4&"◆"&C$3&"◇*?"),INDEX(Sheet1!$G:$G,MATCH($A5&"◆*?◇"&C$4&"◆"&C$3&"◇*?",Sheet3!$A:$A,0)),"") でした。  ですから、Sheet2の表全体を範囲選択した上で、Excelの置換機能([ホーム]タブ > 「編集」 グループの[検索と選択]ボタン > [置換]、或いはショートカットキーで[Ctrl]+[H])を使用して、 Sheet2! を Sheet3! に[すべて置換]して下さい。  後、Sheet3の関数を入力するセルの位置に関してですが > まず、Sheet3のA3セルに次の様な関数を入力して下さい。 > 次に、Sheet3のA3セルをコピーして、Sheet3のA4以下に貼り付けて下さい。 としていたのは、回答No.1に添付した画像のBookを作成した際に、Sheet1のA1セルに「Sheet1」と入力している都合で、データの入力欄が3行目から始まるようにした事に合わせていたためでして、もし、実際のSheet1のデータの入力欄が2行目から始まっている様な場合には、同じ関数をSheet3のA2に入力してから、Sheet3のA3以下に貼り付けて下さい。(但し、1行目のセルに入力する事だけには対応しておらず、1行目に入力するとエラーになります)  尚、この関数の場合は行数が変わっても修正が必要になる様な箇所はありません。  又、Sheet1のG列に数値(日付データを含む)が入力されていない行に、この関数を入力しましても空白を返す様になっておりますので、最初から2行目以下に入力しておいて、Sheet1のデータ入力欄が(2行目以下の)どこから始まっているのかという事を気にしないで使うというのも一つの手です。

720858
質問者

お礼

ご回答いただいたのに返信できずに申し訳ありませんでした。 そして、丁寧な解説ありがとうございます。 早速、頂いた内容でシートを作成中です。

720858
質問者

補足

kagakusukiさん、何度も本当に申し訳ありません。 頂いた内容で、かなり改善しましたがご迷惑でなければ、2点教えていただきたいです。 「ログイン名・表示名・ログオン」が表示できるようになりました。 1.ログオフの項目が表示されない  C5(ログオン時間)をD5(ログオフ)に数式をコピーしたのですが、ログオフの時間が表示  されません。  D5の関数は、下のように表示されています。  =IF(COUNTIF(Sheet3!$A:$A,$A5&"◆*?◇"&D$4&"◆"&D$3&"◇*?"),INDEX(Sheet1!$G:$G,MATCH($A5&"◆*?◇"&D$4&"◆"&D$3&"◇*?",Sheet3!$A:$A,0)),"") 2.Sheet1の日時の書式  excelに直接、2015/03/06 11:00:00 と入力するとSheet2のログオンのセルに表示  できます。(ログイン名・表示名・ログオンが表示されます。)  ただ、別のCSVからSheet1にコピーした際には、ログイン名・表示名・ログオンも表示されなく  なり、直接入力した日時セルを貼り付けると表示されます。   セルの表示設定は、どちらも ユーザ定義の「yyyy/mm/dd h:mm」になっているので同じ  ように見えます。  Sheet1の日時が反映されない理由がもし分かりましたら教えていただきたいです。 本当に何度も教えていただき申し訳ありませんが教えて頂けると助かります。 勉強不足で申し訳ありません。 よろしくお願い致します。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 今仮に、Sheet2のA1セルに西暦年を表す4桁の整数値を入力し、Sheet2のC1セルに月を表す1~12の内の何れかの整数値を入力すると、Sheet3のA列を作業列として使用して、Sheet2のA5以下にログイン名を、Sheet2のB5以下に表示名を、それぞれ重複や隙間無しに表示させ、Sheet2のC列~BL列の5行目以下にログインやログアウトした時刻を表示させるものとします。  まず、Sheet3のA3セルに次の様な関数を入力して下さい。 =IF(OR(INDEX(Sheet1!$E:$E,ROW())="",ISERROR(1/DAY(INDEX(Sheet1!$G:$G,ROW())))),"",INDEX(Sheet1!$E:$E,ROW())&"◆"&COUNTIFS(Sheet1!$E:$E,INDEX(Sheet1!$E:$E,ROW()),Sheet1!$G:$G,"<"&INDEX(Sheet1!$G:$G,ROW()))+COUNTIF(Sheet1!$E$2:INDEX(Sheet1!$E:$E,ROW()),INDEX(Sheet1!$E:$E,ROW()))&"◇"&IF(COUNTIFS(Sheet1!$E:$E,INDEX(Sheet1!$E:$E,ROW()),Sheet1!$K:$K,INDEX(Sheet1!$K:$K,ROW()),Sheet1!$G:$G,">="&INT(INDEX(Sheet1!$G:$G,ROW())),Sheet1!$G:$G,"<"&INT(INDEX(Sheet1!$G:$G,ROW()))+1,Sheet1!$G:$G,IF(INDEX(Sheet1!$K:$K,ROW())="ログイン",">","<")&INDEX(Sheet1!$G:$G,ROW())),"×",INDEX(Sheet1!$K:$K,ROW()))&"◆"&INT(INDEX(Sheet1!$G:$G,ROW()))&"◇"&COUNTIF(A$1:A2,"*?◆1◇*?")+1)  次に、Sheet3のA3セルをコピーして、Sheet3のA4以下に貼り付けて下さい。  次に、Sheet2のB1セルに「年」、D1セルに「月」、A3セルに「ログイン名」、B3セルに「表示名」とそれぞれ入力して下さい。  次に、Sheet2のC3セルに次の様な関数を入力して下さい。 =IF(ISNUMBER(($A$1&"/"&$C$1&"/"&ROUNDUP(COLUMNS($C:C)/2,0))+0),($A$1&"/"&$C$1&"/"&ROUNDUP(COLUMNS($C:C)/2,0))+0,"")  次に、Sheet2のC3セルとD3セルを結合して下さい。  次に、その結合したセルの書式設定の表示形式を、[ユーザー定義]の d"日" に設定して下さい。  次に、Sheet2のC4セルに次の様な関数を入力して下さい。 =IF(ISNUMBER(C$3),"ログイン","")  次に、Sheet2のD4セルに次の様な関数を入力して下さい。 =IF(ISNUMBER(C$3),"ログオフ","")  次に、Sheet2のA5セルに次の様な関数を入力して下さい。 =IF(ROWS($A$5:$A5)>COUNTIF(Sheet2!$A:$A,"*?◆1◇*?"),"",INDEX(Sheet1!$E:$E,MATCH("*?◆1◇*?◇"&ROWS($A$5:$A5),Sheet2!$A:$A,0)))  次に、Sheet2のB5セルに次の様な関数を入力して下さい。 =IF(ISERROR(1/(VLOOKUP($A5,Sheet1!$E:$F,2,FALSE)<>"")),"",VLOOKUP($A5,Sheet1!$E:$F,2,FALSE))  次に、Sheet2のC5セルに次の様な関数を入力して下さい。 =IF(COUNTIF(Sheet2!$A:$A,$A5&"◆*?◇"&C$4&"◆"&C$3&"◇*?"),INDEX(Sheet1!$G:$G,MATCH($A5&"◆*?◇"&C$4&"◆"&C$3&"◇*?",Sheet2!$A:$A,0)),"")  次に、Sheet2のC5セルの書式設定の表示形式を、[日付]の 13:30 か或いは[ユーザー定義]の h:mm;@ に設定して下さい。  次に、Sheet2のC5セルをコピーして、Sheet2のD5セルに貼り付けて下さい。  次に、Sheet2のC3~D5のセル範囲をまとめてコピーして、Sheet2のE3~BL5のセル範囲に貼り付けて下さい。  次に、Sheet2の5行目をコピーして、6行目以下に貼り付けて下さい。  以上で準備は完了で、後はSheet2のA1セルに西暦年を表す4桁の整数値を入力し、Sheet2のC1セルに月を表す1~12の内の何れかの整数値を入力しますと、人別・日別に集計されたデータが表示されます。

720858
質問者

お礼

大変丁寧に教えて頂き、ありがとうございます。 早速、教えて頂いた内容を試してみます。

720858
質問者

補足

kagakusukiさん、先ほどはありがとうございました。 ご返信頂いた通り、作成をこころみましたが「Sheet2」のログイン名や表示者は 0 で表示、ログイン・ログオフのセルは、 0:00 で表示されています。 1日~31日までの日付と「ログイン」「ログオフ」の表示は、正しく表示されています。 「Sheet3」については、頂いたファイル通りA3セルからAセルの下まで表示されています。  7849-t01◆5◇ログオフ◆42062◇1  7411-Mgr◆51◇ログオフ◆42062◇1  7411-Mgr◆51◇ログオン◆42062◇1  7411-Mgr◆51◇ログオフ◆42060◇1  7411-Mgr◆51◇ログオン◆42060◇1  7871-t02◆2◇ログオフ◆42062◇1 「Sheet1」のログイン名や・表示名の書式は「標準」で、日時はユーザ定義の「yyyy/m/d h:mm」になっています。 大変恐れ入りますが、どこか私の入力間違いがありそうな箇所があれば教えてい頂きたい です。 ご迷惑をおかけして申し訳ありませんが、よろしくお願い致します。

関連するQ&A

  • エクセルで集計について

    それぞれの課がそれぞれに使いやすいように 個々に作っている表資料の中から、 必要な数値を、自分のエクセルファイルに 流用したいのです。 現在は、プリントしたものを持ってきてもらって、 自分で手入力して自分の表で集計しています。 自分のエクセルファイルは、集計です。 (1)集計ファイル (2)集計ファイル (3)集計ファイルから、 ある部分の数字を自分のエクセルシート上に 反映させたいのです。 できれば、(1)から(3)の人たちが入力し終えたら、 自分のエクセルシートには、3つの数値を用いて、 合計された数値が表示されている状態にしたいのです。 あと、自分の集計しているものは(1)から(3)の人たちには、 みられては困ります。また、(1)(2)(3)それぞれの人も自分で作った表以外は見れないようにしたいのです。 これは、個別の尊重でデータの混在を防ぐためです ですから、同じワークシートというわけにはいかないと 思いますが、いかがでしょうか? でも、私だけはこの3者の集計表をみたいのです。 さらに、私の集計表だけは、3者が入力し終えたデータから必要な数値だけを抜き取り集計したいのです。 これをするには、(1)から(3)に方は、 それぞれの集計表ではなく、私が用意したシートで 入力していただくことになるのでしょうか? 何か良い方法はありませんでしょうか? 経験者の方、よろしくお願いいたします。

  • ログイン・ログオフ時刻の申請台帳との照合について

    あるアプリケーションソフトで、申請台帳のログオン・ログオフ時間と、実際に取得したログとで照合の自動化を行いたいのですが、 ExcelVBAで作成する知恵をお貸し頂けないでしょうか? ログは、アプリケーションソフトがSQL Server2000を使用しているので、プロファイラを使用してログイン・ログオフのログを取得しています。件数は申請台帳が毎月100件くらい、ログは130件ぐらいです。 いろいろ検索したのですが、ログイン・ログオフの時刻で照合するというマクロが見つかりませんでした。 【行いたい処理】 1.[sheet1]が取得したログ、[sheet2]が申請台帳であり、その形式は同じでありません。 2.取得したログ1件、1件に対して、申請台帳をスキャンして、申請済みであるかをチェックします。 3.その結果を[sheet3]のレポートに作成します。申請がない場合はログのみを出力します。 4.照合するデータは、ログイン日付、ログイン時刻、ログオフ日付、ログオフ時刻、作業PCID、接続DBです。 5.申請した時間内であれば、何回ログイン、ログオフしてもOKとします。   よって、申請ログイン時刻<=ログイン時刻、ログオフ時刻<=申請ログオフ時刻となればOKです。 教えてgooの初心者ですが、 回答を頂ければ、より詳細な内容をご連絡します。 以上、お知恵をお貸しください。宜しくお願い致します。

  • Excel 2007 マクロ 表の集計について

    Excel 2007 マクロ 表の集計について 2つのシート(Sheet1とSheet2)の情報を集計して Sheet3に反映するマクロを考えています。 (1)Sheet1のC列、D列、E列とSheet2のC列が空欄の場合は  Sheet3に反映しません。 (2)Sheet1のC列、D列、E列とSheet2のC列のいずれかに数値が  入っている場合にはSheet3に行を反映します。  ※Sheet3に反映する際に、Sheet1とSheet2のキー(A列)は  反映しません。  各Sheetの表は画像を添付します。  どのようなマクロを作成すればよろしいでしょうか。  マクロの超初心者です。  マクロのサンプルをご紹介頂けますでしょうか。

  • Windowsのログオフしないで、ネットワークだけログオフしたい

    社内でネットワーク上のフォルダにアクセスする際、一度ログインすると、Windowsのログオフか、Windowsのシャットダウンをするまで接続が続いてしまいます。 ネットワークだけをログオフする方法はないでしょうか。 何かありました、よろしくお願いします。

  • ログオフについて

    ログオフについて質問があります。 例えばAでログイン、その後、スタート<ログオフ<ユーザーの切り替えでBでログオン、その後、Bでログオフを選択すると、真っ暗な画面になり、中央少し左上にカーソルが点滅、操作不能になります。 Aでログイン、Bでログイン、その後、Bを終了させてAに戻りたい時、どの様な操作をすれば、真っ暗な操作不能画面にならずに済むでしょうか。 この状態になった時、いつも電源なが押しで強制終了させてます。他に回避方法があれば、教えて下さい。よろしくお願いしますm(_ _)m。  

  • 集計

    同じシートが複数枚あります。内容を集計表に反映させたいのですが方法がわかりません。 数値の合計であれば3-Dや統合等だとおもうのですが、伺いたい方法は「数値」ではなく「文字」の集計です。 Sheet1~5までに各年代別の嗜好品が入力されています。 各シートには性別や住んでいる地域等いくつかの分類もあります。 Sheet6にSheet1~5までの情報(文字)をすべて反映させたいのですがどのようにすれば良いのでしょうか。 今はSheet1~5まで一旦入力してからそれを元にSheet6に再び入力していくという作業をしています。 ご回答、宜しくお願いします。

  • エクセル 集計する

    二つ表を添付していますが、使用するのは今日の分だけでお願いします。 月別に集計しています。そこで質問です。 エクセル得意ではありませんので、できるだけ簡単な方法でお願いします。 (1)日付があるので、月の列”=month(2010/2/12)の列を作成しています。 そして月の列を基準にして月別の合計を出して集計しています。 ここで問題があります。集計は2年分ずつとっています。2011年と2012年がはいっている 場合、この方法で集計をかけると、ぐちゃぐちゃになってしまいます。きちんと2011年の1-12月 2012年の1-12月の各月別の集計をかける方法はありますか? (2)まれに売上が0の月があります。そうするとうまく集計できません。   こういう場合はどうすれば、きちんと集計できますか?? 以上、わかりにくい質問でしたら申し訳ありません。 よろしくお願いいたします。 投稿日時 - 2011-01-27 22:33:47

  • ログオフした後、iphone4でmixiにログインが出来ず困っています

    ログオフした後、iphone4でmixiにログインが出来ず困っています。 iphone4に機種変更をしてから2週間ほど、以前から使っている携帯アドレスでmixiにログインしていました。(簡単ログインです。) ある日ログオフしたところ、再度ログインが出来ずに困っております。 パスワードの再発行もしてみたのですが、やはり出来ません。 何か原因や、ログインの方法などご存じの方いらしたら教えて頂ければと思います。 (アドレス、PWを入力してログインをしても、何の忠告も出ずに、何度も同じログイン画面が続く状態です。) どうぞ、よろしくお願いいたします。

  • エクセル数式の質問です。

    エクセルで日付別のシートが(1~31)まであります。 集計シートに日別での集計表を作っていますが、 集計シートに1日のシートの数式を=SUM('1'!$R$7:$R$8)と集計シートのB2にあります。 これを右に連続コピーでシートの2~31を作る事って出来ますか? 元の数式が変わっても構いませんのでよろしくです。 ちなみに集計シートB3には=SUM('1'!$R$9:$R$10)とあります。 1日の集計分の数式は出来てるのですがまとめて右にコピーしてシート名を一つずつ変更してます。効率のいい方法を教えてください。

  • エクセル数式の質問です。

    エクセルで日付別のシートが(1~31)まであります。 集計シートに日別での集計表を作っていますが、 集計シートに1日のシートの数式を=SUM('1'!$R$7:$R$8)と集計シートのB2にあります。 これを右に連続コピーでシートの2~31を作る事って出来ますか? 元の数式が変わっても構いませんのでよろしくです。 ちなみに集計シートB3には=SUM('1'!$R$9:$R$10)とあります。 1日の集計分の数式は出来てるのですがまとめて右にコピーしてシート名を一つずつ変更してます。効率のいい方法を教えてください。

専門家に質問してみよう