• 締切済み

EXCELで再遅時間を抽出する

エクセルの表において、該当の日付の中から、一番遅い時間を抽出したいのです。再早時間は同じような質問内容の「再早時間の抽出」から関数をコピーして抽出することはできました。 =IF(ISNUMBER(1/DAY($C20)),IF(COUNTIF($A:$A,"<"&INT($C20)+1)-COUNTIF($A:$A,"<"&INT($C20))>0,MOD(SMALL($A:$A,COUNTIF($A:$A,"<"&INT($C20))+1),1),""),"") 上記の関数と逆で再遅時間を抽出する関数を教えていただきたいです。 具体的には↓のような資料で作成しています。

みんなの回答

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

 今仮に、再遅時間をF列に表示させるものとしますと、まず、F2セルに次の関数を入力して下さい。 =IF(ISNUMBER(1/DAY($C2)),IF(COUNTIFS($A:$A,">="&INT($C2),$A:$A,"<"&INT($C2)+1),MOD(LARGE($A:$A,COUNTIF($A:$A,">="&INT($C2)+1)+1),1),""),"")  次に、F2セルをコピーして、F3以下に貼り付けて下さい。  因みに、Excel2007よりも前のバージョンのExcelで同じ事を行う場合には、上記の関数を次の様に変更して下さい。 =IF(ISNUMBER(1/DAY($C2)),IF(COUNTIF($A:$A,"<"&INT($C2)+1)-COUNTIF($A:$A,"<"&INT($C2)),MOD(LARGE($A:$A,COUNTIF($A:$A,">="&INT($C2)+1)+1),1),""),"")

fnc001
質問者

お礼

ありがとうございます! 作表できました!!!

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! A列データ内で、C列日付の一番遅い時刻をF列に表示させればよい訳ですかね? そういうコトだとしての一例です。 F2セルに =IF(COUNTIFS(A$1:A$1000,">="&C2,A$1:A$1000,"<"&C2+1),MOD(MAX(IF(A$1:A$1000<C2+1,A$1:A$1000)),1),"") これは配列数式になってしまいますので、Ctrl+Shift+Enterで確定! この画面からコピー&ペーストする場合は、 上記数式をドラッグ&コピー → F2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Ctrl+Shiftキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これをオートフィルで下へコピーしてみてください。m(_ _)m

関連するQ&A

  • エクセルで抽出した結果の最早時間取り出し

    エクセルの表において、該当の日付の中から、一番早い時間を抽出したいのですが、どういう関数を使ってどう書けばいいのでしょうか。 具体的には、以下のようにA列に日付があり、1行目に該当日付(抽出日付)が あるとして、2行めに抽出結果を出したいです。 計算結果 (1) "" (2) 15:00 (3) 07:29 (4) 15:45 (5) 03:45 以上、よろしくお願いします。

  • Excelで集計に関する関数の質問です

    添付した図を基に質問します。4行目をウィンドウ枠固定して表示してあります。 行列番号を見てもらえたら分かると思いますが、要所でセルを結合してあります。 セルB6に=IF(B5="","",(IF(B5>1999,0,IF(E5<501,0,IF(AND(B5>499,E5<2001),(TIME(INT(E5/100),MOD(E5,100),0)-TIME(INT(B5/100),MOD(B5,100),0)),IF(B5<500,TIME(INT(E5/100),MOD(E5,100),0)-(TIME(INT(500/100),MOD(500,100),0)),IF(E5>2000,TIME(INT(2000/100),MOD(2000,100),0)-TIME(INT(B5/100),MOD(B5,100),0),0))))))*24) D6に=IF(B5="","",IF(AND(B5<500,E5>500),(TIME(INT(500/100),MOD(500,100),0)-TIME(INT(B5/100),MOD(B5,100),0)),IF(AND(B5<2000,E5>2000),(TIME(INT(E5/100),MOD(E5,100),0)-TIME(INT(2000/100),MOD(2000,100),0)),IF(AND(B5>499,E5<2001),0,(TIME(INT(E5/100),MOD(E5,100),0)-TIME(INT(B5/100),MOD(B5,100),0)))))*24) これは、項目A列5行目を参照しています。以下オートフィルします。 例えば7時から10時10分の差を求める場合、B6セルに700、D6セルに1010と1分単位で入力し、表示形式は0.0" H"です。 項目C,Dも同様で、項目C内E列には1時間30分の場合1.5と入力し30分単位です。表示形式は同様。 A列の日付欄には、1月1日の場合1/1と記入します。表示形式は日付の月/日です。 上記内容で添付図の上の表(A3:S30)項目B~D列のデータを下の表(A32:S39)で集計しようと思います。 1、F35~F38に月ごとの時間の計を表示させる関数 2、J35~J38には、月ごとの時間*単価を項目別に計算した値の計を表示させる関数 3、P35~P38にも上記同様の計を表示させる関数 以上、1,2,3に入力する関数が知りたいので、宜しくお願いします。 なお不明な点がありましたら随時補足していこうと思います。

  • Excel INDEX関数ズレて抽出される

    INDEX関数で行列番号取得にMATCH関数を使用したときにズレてしまう。 定例のミーティングの参加表を作成しようとしています。 シートの構成は添付画像の通りです。 Sheet1 定例のミーティングの参加表 巡回Aは月ごとに担当者が変わる。 Sheet2 巡回Aの月別の担当表 巡回Aの担当表を用意して、COUNTIF関数で参加表の氏名が巡回Aのリストに含まれていない場合(カウント0)は空欄にし、0以外の場合、INDEX関数で列番号のところにMATCH関数をネスト、MONTH(TODAY())+1とし、ex. 8月なら翌月の9月に該当する列番号を抽出して巡回Aの出席を月が変わると連動するようにしたいです。 =IF(COUNTIF($B$22:$B$29,$B3)=1,IF(INDEX($C$22:$N$29,MATCH($B3,$B$22:$B$29,0),MATCH(MONTH(TODAY())+1,$C$20:$N$20,0))=0,"",INDEX($C$22:$N$29,MATCH($B3,$B$22:$B$29,0),MATCH(MONTH(TODAY())+1,$C$20:$N$20,0))),"") 職場のExcel2016では列がズレてしまい、抽出ができないです。 Excel365では問題なく抽出ができました。 2016でズレるのは何故でしょうか。 詳しい方居ましたらご教授下さい。 よろしくお願い致します。

  • excelで今日以降の日付のセルの個数を抽出

    excel関数で列の中に出荷日が記載されています。この列の本日以降の日付の入っているセルの個数を抽出したい。 COUTIF(A1:A20,>2012/4/9)だと6と正確に抽出するのにCOUNTIF(A:A20>=2012/4/9)だと0と表示されてしまう。 実際は、その日その日で確認するためCOUNTIF(A1:A20,>”=TODAY”)といううように日付をいちいち入力しなくても良い様にしたいが、すべて「0」と出てしまう。 どこが悪いのでしょうか。

  • 時間のうち、ある時間帯だけ抽出したい。

    二つのセルにそれぞれ時間をいれると、その間の時間を求めたいとおもうんですが、if文だらけになってしまいます、0:00~5:00 5:00~7:00 8:45~と分けて時間を抽出したいと思います。その場合どのような計算式でできるのでしょうか?なるべく簡単にできるとありがたいです。 以下のようにしたいです。A3~C3のところに式をいれたいと思います。     1       2      3 A 1:00  (0:00~5:00) 4:00 B 6:30   (5:00~7:00)  1:30 C         (8:45~)    0:00 

  • Excel 複数の当番の氏名を抽出したい

    Sheet構成は添付画像の通りです。 A列は担当者の氏名、横列は日付欄です。 担当者の欄は1、2と入力し、表示形式をユーザー定義で"巡回担当"0とする。 抽出するセルに =INDEX($A$5:$A$17,SMALL(IF(B$5:B$17="●",ROW($5:$17)),$A20)) エラーは出ないですが、●を入れていない関係のないところが抽出されてしまいます。 2人当番の該当者氏名を抽出する方法はありますでしょうか。 詳しい方居ましたらご教授下さい。 よろしくお願い致します。

  • エクセル抽出関数の使い方、教えてください!!

    大変恐れ入ります。過去の他の方の質問を一部引用しております。 <引用:2009/11/05 QNo.5425095> ---引用--- excel関数を用いてある行の範囲内の数値のみを違う行に抽出し、同じ列に対応する値も引っ張ってくることは可能ですか?     A   B   C   D 1   33   180 2   58   300 3   89   310 4   152   240 5   205   74 -------------------------------------------------- Q1. 上記にあるA1の”33”を、A1以外のセルにセットするとC,Dに正規のデータが抽出されない。    この際、    ・ =IF(AND(A1>=60,A1<=180),ROW(A1),"")    ・ =IF(OR(ROW(A1)>COUNT($C:$C),COLUMN(A1)>2),"",INDEX($A:$B,SMALL($C:$C,ROW     (A1)),COLUMN(A1)))    の抽出範囲も設定をしてみましたが、全く結果が得られません。必ずA1にデータがないとだ    めなのでしょうか。    もし可能であれば、その応用として下記の内容を検討しており、非常に苦戦しております。    是非教えていただければと思いますので、よろしくお願いします。 Q2. 上記サンプルの様なシートが2つ存在し、それを一枚のシートにまとめ、2つのデータベース     からそれぞれに対し異なる抽出条件を提示し、その結果一覧をそれぞれ表示したいと検討     しております。    大変申し訳ないのですが、少々急いでおります。是非よろしくお願いいたします。

  • excelカレンダーに集計表

    この掲示板にて、カレンダーの作り方を拝見しました。 カレンダー日付の下に毎日累計値を入れていき、 その下に当日分の使用量が出るようにしたいのですが、 未熟者の為、月の変わり目が流動的でうまく式がたてれません。 ご教授の程よろしくお願いします。 今回参考にさせて頂いたカレンダーの元は下記のものです tazsan転用申し訳ありません。 D1に年(2004)、D3に月(12)と入力します。 一行あけてA5からG5までに、日・月・火・・・と曜日を A6 第一週日曜日 =IF(WEEKDAY(DATE($D$1,$D$3,1))=1,1,"") B6 第一週月曜日 =IF(ISNUMBER(A6),A6+1,IF(WEEKDAY(DATE($D$1,$D$3,1))=2,1,"")) C6 第一週火曜日 =IF(ISNUMBER(B6),B6+1,IF(WEEKDAY(DATE($D$1,$D$3,1))=3,1,"")) D6 第一週水曜日 =IF(ISNUMBER(C6),C6+1,IF(WEEKDAY(DATE($D$1,$D$3,1))=4,1,""))   ・   ・  以降、 A7 第二週の日曜日 =G6+1 B7 第二週の月曜日 =A7+1 C7 第二週の火曜日 =B7+1 ・・・という風に、第四週の土曜日までは前日に+1する計算式を書きます。 第五週は最終週なのですこし違います。 A10 第五週の日曜日 =IF(G9+1<=DAY(DATE($D$1,$D$3+1,1)-1),G9+1,"") B10 第五週の月曜日 =IF(ISNUMBER(A10),IF(A10+1<=DAY(DATE($D$1,$D$3+1,1)-1),A10+1,""),"") C10 第五週の火曜日 =IF(ISNUMBER(B10),IF(B10+1<=DAY(DATE($D$1,$D$3+1,1)-1),B10+1,""),"") D10 第五週の水曜日 =IF(ISNUMBER(C10),IF(C10+1<=DAY(DATE($D$1,$D$3+1,1)-1),C10+1,""),"")         ・         ・ これで、年と月を書き換えると日付が自動表示されるようになります

  • エクセル データ抽出について

    (データ)    A B C 1  I あ 20 2  II い 30  3  III う 10 4  IV あ 10 5  V い 20  6  VI う 30 したい事(1) A列のうちいずれかの項目を入力すると、B列の該当値を抽出 したい事(2) (1)のB列該当値が検索一行目で抽出されたら、その値からC列の値を抽出したい 困っていること・・・B列に全く同じ名前の項目があるため、抽出すると 先に来る値が飛んできてしまう 例:IVを入れると「あ」が自動で抽出され、その「あ」でさらに「10」を抽出したいのに、先にあるC1の「20」が飛んできてしまう。 それぞれ、(1)(2)にどのような関数を入れると、抽出したい値が出てくるでしょうか?

  • この条件を抽出できるエクセルの式を教えてください

    A列(A2からA602)にグループ名、B列(B2からB602)に対応日が入っているデータがあります。ただし、未対応の場合には日づけは空欄です。 今、A列であるグループを抽出し、B列にまだ日付が入っていない(未対応)の件数を出したいのです。 COUNTIF(A2:A602,"抽出したいグループ名")とCOUNTBLANK(B2:B602)あたりの関数を使うのかな・・・と思って試行錯誤してみましたが、数式ができません。 アドバイスをお願いします。