
エクセルで入退出をしようとしています
基のデータが下記の様になっているのをタイムカード形式に条件を付けて取り出しをしたいのですが上手くできませんでした。
ご教授お願いします。
【元データ】
A B
1 日時 ID
2 2010/10/30 21:34 000-0000001
3 2010/10/30 7:47 000-0000006
4 2010/10/30 7:38 000-0000001
5 2010/10/30 0:43 000-0000001
6 2010/10/29 19:22 000-0000001
7 2010/10/29 19:00 000-0000001
8 2010/10/29 18:32 000-0000008
9 2010/10/29 18:31 000-0000007
これをID毎に下記の様に(000-0000001の例)別シートに表示させようとしてもうまくできません。
A B C
1 日付 入室時間 退室時間
2 10月30日 7:47 0:43
3 10月29日 19:00 19:22
※同じIDで同じ日付の入退出が複数ある場合は一番小さい(最初に入室した)時間と一番大きい(最後に退出した)時間をタイムカードの様に並べてその間のではいりは必要ありません。
どうか宜しくお願いします。
No.5ベストアンサー
- 回答日時:
>#VALUE!が出ます。
INT(Sheet2!$A$2:$A$1000)=$A2の計算式で#VALUE!が出ています。
原因はブランクのセルです。
本当に空白セルなら(文字列セルが含まれていないなら)、セル範囲を大きめに設定しても#VALUEエラーはでないはずです。
もしA列のデータが通常の入力データではなく、空白セル部分に空白文字列が入力されている(例えば数式の空白文字列「""」を値に変換している)のなら、A列を選択して「データ」「区切り位置」で「完了」してください。
データ範囲に文字列が入っていても、そのまま無視して計算するなら、以下のような数式にする必要があります。
=MAX((IF(ISNUMBER(Sheet2!$A$2:$A$1000),INT(Sheet2!$A$2:$A$1000),)=$A2)*(Sheet2!$B$2:$B$1000=$D$1)*IF(ISNUMBER(Sheet2!$A$2:$A$1000),MOD(Sheet2!$A$2:$A$1000,1),))
No.4
- 回答日時:
こんばんは!
横からお邪魔します。
外していたらごめんなさい。
質問文ではA列に日時とB列にIDが羅列してあるだけだと思いますので、
同じIDが奇数回の場合は「入室中」ということになり、退室していないと考えるのが普通だと思いますが、
一応それは無視してその日の最小時刻・最大時刻を表示する場合の一例です。
IDが000-0000001の人の場合10月30日の入室時間(一番早い時刻)は 0:43
退室時間(一番遅い時刻)は 21:34 になってしまうのですが・・・
↓の画像のように作業用の列を3列使ってしまいました。
(この作業列が目障りであれば遠く離れた列に作成するか、非表示にしてください)
Sheet2のA1セルにIDを入力するとします。
作業列E2セルに
=IF(COUNTIF(Sheet1!$B$1:$B$1000,$A$1)<ROW(A1),"",INDEX(Sheet1!$A$1:$A$1000,SMALL(IF(Sheet1!$B$1:$B$1000=$A$1,ROW($A$1:$A$1000)),ROW(A1))))
これは配列数式になってしまいますので、この画面からSheet2のE2セルに貼り付け後数式バー内で一度クリックします。
編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定してください。
数式の前後に{ }マークが入り配列数式になります。
F2セルに(←配列数式ではありません。)
=IF(E2="","",INT(E2))
G2セルに(←配列数式ではありません。)
=IF(OR(F2="",COUNTIF($F$2:F2,F2)<>1),"",ROW())
E2~G2セルを範囲指定し、G2セルのフィルハンドルでオートフィルで下へずぃ~~~!っとコピーしておきます。
そしてA3セルは(←表示形式は「日付」にしておきます)
=IF(COUNT(G:G)<ROW(A1),"",INDEX(F:F,SMALL(G:G,ROW(A1))))
(配列数式ではありません)
B3セル(←配列数式になります。Shift+Ctrlキー+Enterキーで確定)※表示形式は「時刻」に!
=IF(A3="","",MIN(IF($F$1:$F$1000=A3,$E$1:$E$1000)))
C3セル(←これも配列数式になります) ※表示形式は「時刻」に!
=IF(A3="","",MAX(IF($F$1:$F$1000=A3,$E$1:$E$1000)))
という数式を入れ、A3~C3セルを範囲指定し、C3セルのフィルハンドルで下へコピーすると
画像のような感じになります。
以上、参考になれば良いのですが
的外れならごめんなさいね。m(__)m

No.3
- 回答日時:
>試してみると日付の比較でエラーが出ているようでうまく計算できません。
確認ですが、入力後Ctrl+Shift+Enterの操作を行っているのでしょうか?
また、具体的にどのようなエラーが出るのでしょうか?
>表示形式は通常の日付になっています。
>いろいろ形式を変えてみましたがダメでした。
時刻形式にすると、具体的にどのように表示されるのでしょうか?
上記の数式で、基本的にこちらではうまくいくことを確認していますので、Sheet2に同じレイアウトのデータをコピーして、提示した数式をコピーしてCtrl+Shift+Enterで確定してうまく表示できないか調べてみてください。
この回答への補足
#VALUE!が出ます。
INT(Sheet2!$A$2:$A$1000)=$A2の計算式で#VALUE!が出ています。
原因はブランクのセルです。
シート2のA342まで値があった場合、A343が計算範囲に指定されるとうまく抽出できませんでした。
宜しくお願いします。
No.2
- 回答日時:
元データがSheet2にあり、抽出用シートのA2セル以下に抽出したい日付が入力されていて、E1セルに抽出したいIDが入力されている場合、以下の数式で特定のIDに対する、それぞれの日付の最も早い入室時間と遅い退出時間を表示することができます。
B2セル
=MIN(IF((INT(Sheet2!$A$2:$A$1000)=$A2)*(Sheet2!$B$2:$B$1000=$E$1),MOD(Sheet2!$A$2:$A$1000,1),""))
C2セル
=MAX((INT(Sheet2!$A$2:$A$1000)=$A2)*(Sheet2!$B$2:$B$1000=$E$1)*MOD(Sheet2!$A$2:$A$1000,1))
上記の数式は配列数式ですので、入力後Ctrl+Shift+Enterで確定して下方向にオートフィルしてください。
また、セルの書式は表示形式を通常の「時刻」にしてください。
ただし、上記の数式は多用するとシートの動きが重くなるので、D1セルのIDを入力する欄は入力規則のリストで選択させるようにして、この1枚のシートで対応するようにした方が良いと思います。
この回答への補足
計算式、ありがとうございます。
試してみると日付の比較でエラーが出ているようでうまく計算できません。
表示形式は通常の日付になっています。
いろいろ形式を変えてみましたがダメでした。
宜しくお願いします。
No.1
- 回答日時:
質問内容にいくつかの不明点があります。
IDごとの集計で10月30日のデータは、退室時間よりも入室時間の方が早いのですがこれでOKですか?
単純に、特定のID番号で同じ日付の最も早い時間と最も遅い時間を抽出することは、比較的簡単な配列数式で表示できますが、上記の0:43は前日のデータに変換する場合はかなり複雑な数式を駆使する必要があります。
その場合も当日と前日の判断基準(例えば5:00はどちら?)を明示しないと計算できません。
ちなみに日付の欄も元データの日時から重複のない日付データを自動的に取得したいのでしょうか(ちなみに、この数式だけもかなり複雑な数式となります)。
この回答への補足
申し訳ありません。
10月30日の入室時間と退出時間、間違えていました。
入室時間が0:43 退出が21:34です。
特定のIDで抽出で0:43の変換、日付の取得は必要ありません。
宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel関数で日またぎの勤務時間にしるしを立てる 2 2022/04/20 17:22
- Excel(エクセル) エクセルで休憩時間を引く時と、引かない時の数式 3 2022/11/05 11:48
- 労働相談 労働時間が五、六時間 その弐 2 2023/04/04 12:36
- その他(教育・科学・学問) エクセル関数について 2 2022/12/23 08:59
- Excel(エクセル) Excel2019、2021の売り上げなどの集計表について 4 2022/11/29 14:03
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- その他(Microsoft Office) 勤務表のエクセル作成で数式を教えてください。 1 2023/01/17 03:27
- 消費者問題・詐欺 駐車場調べ隊というサイトで、会員登録してましたが 無料期間で退会するためサイトで申し込みしたところ 2 2023/06/03 23:22
- Excel(エクセル) エクセルの早退時間を計算したいです。計算はうまくいっているようですが… 1 2022/12/26 16:22
- Excel(エクセル) 条件付書式 Sheet1からSheet2に転記した時の転記ミスを反映させたい 5 2022/05/21 09:52
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
Accessでレポートを印刷する時...
-
レポートの印刷を一括ではなく...
-
Access VBA [リモートサーバー...
-
ACCESS VBA でのエラー解決の根...
-
Accessのクエリで、replace関数...
-
Microsoft 365 Basic サブスク...
-
access2021 強制終了してしまう
-
access2021 VBA メソッドまたは...
-
Accessのスプレッドシートエク...
-
Accessのクエリの結果を、既存...
-
Excelを開く時と閉じる時に一度...
-
列が255以上のCSVファイルをAcc...
-
CSVファイルの「0落ち」にVBA
-
Access で半角スペースと全角ス...
-
Access Error3061 パラメータが...
-
【至急・画像あり】建物or住所...
-
【アクセス】レポート テキスト...
-
windowos 11 Microsoft Edgeを...
-
access2019の起動が遅い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access レポート印刷するときに...
-
Accessのクエリで、replace関数...
-
access2021 強制終了してしまう
-
ACCESS VBA でのエラー解決の根...
-
Accessのスプレッドシートエク...
-
access2021 VBA メソッドまたは...
-
Access VBA [リモートサーバー...
-
Accessレポートのチェックボッ...
-
【Access】Dcount関数の複数条...
-
Accessで選択クエリを作成中で...
-
1月2日より、いまだアクセスで...
-
Access Error3061 パラメータが...
-
Accessデータベースの保存形式...
-
Access 複数条件検索の設定が上...
-
実行時エラー3131 FROM 句の構...
-
Accessデータベースを開くと同...
-
Accessのクエリの結果を、既存...
-
Access VBA を利用して、フォル...
-
Accessフォームにマクロを組み...
-
アクセス レポートを開いたとき...
おすすめ情報