ここから質問投稿すると、最大4000ポイント当たる!!!! >>

エクセルの表において、該当の日付の中から、一番遅い時間を抽出したいのです。再早時間は同じような質問内容の「再早時間の抽出」から関数をコピーして抽出することはできました。

=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),""),"")

上記の関数と逆で再遅時間を抽出する関数を教えていただきたいです。
具体的には↓のような資料で作成しています。

「EXCELで再遅時間を抽出する」の質問画像

このQ&Aに関連する最新のQ&A

A 回答 (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),""),"")
「EXCELで再遅時間を抽出する」の回答画像2
    • good
    • 1
この回答へのお礼

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

お礼日時:2014/03/12 10:13

こんばんは!



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
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

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

エクセルの表において、該当の日付の中から、一番早い時間を抽出したいのですが、どういう関数を使ってどう書けばいいのでしょうか。

具体的には、以下のようにA列に日付があり、1行目に該当日付(抽出日付)が
あるとして、2行めに抽出結果を出したいです。



計算結果
(1) ""
(2) 15:00
(3) 07:29
(4) 15:45
(5) 03:45



以上、よろしくお願いします。

Aベストアンサー

 配列式やSUMPRODUCT関数、作業列などは使うまでもありません。
 まず、B2セルに次の関数を入力して下さい。

=IF(ISNUMBER(1/DAY(B$1)),IF(COUNTIF($A:$A,"<"&INT(B$1)+1)-COUNTIF($A:$A,"<"&INT(B$1))>0,MOD(SMALL($A:$A,COUNTIF($A:$A,"<"&INT(B$1))+1),1),""),"")

 次に、B2セルの書式の表示形式を[時刻]として下さい。
 そして、B2セルをコピーして、C2から右方向に向かってコピーして下さい。
 これで、1行目で指定している日付の中で最も早い時刻が、2行目に表示されます。

 尚、この方法では、3行目以下に○を入れなくとも正常に動作致します。
 もし、3行目以下に○を表示させたい場合には、まず、B3セルに次の関数を入力してから、B3セルをコピーして、A列よりも右側にある列の3行目以下のセル範囲に貼り付けて下さい。

=IF(INT($A3)=INT(B$1),"○","")

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルで、日時から時間のみ抽出

エクセルで、1つのセルに、『2006/11/20/12:00』と入力されている場合、『12』のみ抽出したいのですが、どのような計算式を入れたらよいのでしょうか。
お知りの方、教えて下さい。宜しくお願い致します。

Aベストアンサー

こんにちは

普通に考えると
=HOUR(該当セル)
のような気もするけど

「2006/11/20/12:00」と入力されてるの? 日付と時間の間にもスラッシュ?

QExcelで同じ商品名で、かつ日付が古いものを抽出する方法

ご存知の方、いらっしゃいましたらお願いします。
Excelは2003を使用しています。

複数の条件での抽出で名前が決まっているものは「フィルタオプションの設定」で行っていますが、日付が古いもの、新しいものの抽出方法がわかりません。
「同じ商品名」かつ「日付が古いもの」を抽出したいのですが、それが出来そうな関数、マクロはありますでしょうか。
当方マクロ知識は「マクロの記録」程度です。

A列  B列    C列
商品A 2007/12/01 10:00
商品B 2008/04/01 10:00
商品A 2008/05/01 10:00

現在は目視、手動で★印を別列につけ、それを抽出し削除しています。
削除フラグとして★印等をつけるようなものでも、わかれば嬉しいです。

Aベストアンサー

1.商品名を第1キー、日付を第2キーとして昇順に並び替えます。
2.D1に1を入力し、D2からは=IF(A1=A2,0,1)を入力して下方向へコピー

これでD列の「1」のみ抽出して削除します。

QエクセルのMAX関数を複数条件で

エクセルのMAX関数を下記のような複数条件をつけて
使いたいのですが、自分で式を書いてもうまくいきません。
アドバイスをよろしくお願いします。

A1に「部署名」、B1に「受注個数」、C1に「受注日」と見出しをし
(A2:C9)にデータを入力した表があるとします。
部署名には営業1部、営業2部、営業3部のいずれかが入力されていて、
受注日には6月22日と、6月23日のいずれかの入力があるとします。
この表で「営業1部」であり、「6月22日」のものである受注個数の
最大の値を返したいのです。
日付「6月22日」は別途(E2)に参照用として入力したものを使いたいです。

=MAX(IF(AND(A2:A9="営業1部",C2:C9=E2),B2:B9,""))

これではダメでしょうか。
初歩的ですみません、よろしくお願いいたします。

Aベストアンサー

DMAX関数を使うことで、可能です。
(配列数式を使う方法もありますが、他にも流用したいという要望もあるようですので
 こちらのほうがよいでしょう)

DMAX(Database,フィールド,Criteria)
http://excel.onushi.com/function/dmax.htm

Qエクセルで特定の列にある日付データの中から、指定した日付範囲を抽出する方法を教えてください

例えばこんなデータなのですが、

2002/07/01 99 25 36
2002/07/05 55 33 25
2002/08/01 80 20 51

日付の入っている列を検索して、2002/07/01から2002/07/31
の範囲ならば、その行のデータを別のシートに抽出したいのですが、
日付の範囲は関数でどうすればよいのか分かりません。ACCESSなら
between 9999/99/99 and 9999/99/99って感じで簡単にできるの
ですが。。。エクセルの関数だとIF関数の論理式にAND関数を使って
>=2002/07/01
<=2002/07/31
と入力したので、2002/07/05ならば、いずれもTRUEなので、値を返して
くれると考えたのですが、なぜかダメでした。
(↓こういう入力をしました)
=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

Aベストアンサー

こんばんは!

=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

おしいですね(^^;
日付をそのまま入力してしまうと数式上では
 2002/7/31 → 2002÷7÷31 になってしまいます。
ダブルクォーテーションで括って(文字列)入力して
それを数値化しましょう!

=IF(AND(Sheet2!A1>="2002/7/1"*1,Sheet2!A1<="2002/7/31"*1),Sheet2!A1,"該当月ありません")

文字列 ="10" に対して 乗算 *1 としても数式が
なり立ち文字列の数字が数値化されます。="10"*1

------------余談--------------------------
ご質問の条件例の場合特例で 2002/7でればOKなので

=IF(TEXT(Sheet2!A1,"yyyym")="20027",Sheet2!A1,"該当月ありません")

でも可能ですね!

こんばんは!

=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

おしいですね(^^;
日付をそのまま入力してしまうと数式上では
 2002/7/31 → 2002÷7÷31 になってしまいます。
ダブルクォーテーションで括って(文字列)入力して
それを数値化しましょう!

=IF(AND(Sheet2!A1>="2002/7/1"*1,Sheet2!A1<="2002/7/31"*1),Sheet2!A1,"該当月ありません")

文字列 ="10" に対して 乗算 *1 としても数式が
なり立ち文字列の数字が数値化されます。="10"*1

--...続きを読む

QMAXIFはどうすればいい?

AVERAGEIFはありますが、maxでほしいのです。どうやって作れますか?

詳細:
B列が「あ」のデータだけ抜き出し、A列のmax値を得たいのです。
A    B
1   あ
2   い
4   あ
8   え
15  い
この例ではmax値は4です。

Aベストアンサー

>MAXIFはどうすればいい?
MAX関数の括弧内(配列)を前処理しなければなりません。
前処理の数式=(B1:B5="あ")*A1:A5
従って、=MAX(B1:B5="あ")*A1:A5 → MAX({1;0;4;0;0}) → 4
Excelでは計算結果を配列で返すことを要する数式を入力時にCtrlとShiftを押しながらEnterキーを打鍵することになっています。
確定した状態を数式バーで見ると{=MAX(B1:B5="あ")*A1:A5}のように数式を大括弧で括られています。

SUMPRODUCT関数の引数としてMAX関数の返り値を設定するとEnterキーで確定しても目的通りの値が返ります。
=SUMPRODUCT(MAX((B1:B5="あ")*A1:A5))
どのような数式を使っても結果が目的に合えば良いのでお好きな方法で解決してください。

Qエクセルで時間ごとの最大値、最小値を導き出したい。

 初めまして、よろしくお願いします。
 エクセルで分ごとの最大値と最小値を求める関数を教えて頂きたく、よろしくお願いします。

例)
     A1         B2
2007/9/6 15:11:54   5
2007/9/6 15:10:43   1
2007/9/6 15:10:33   22
2007/9/6 15:10:20   21
2007/9/6 15:10:16   54
2007/9/6 15:10:10   23
2007/9/6 15:10:08    12
2007/9/6 15:09:54    3
2007/9/6 15:09:24   34
"
"
と言うデーターを。
             最大値     最小値
2007/9/6 15:11:00   ・・      ・・
2007/9/6 15:10:00   54       1
2007/9/6 15:09:00   ・・      ・・
     ”
     ”
   

   

 初めまして、よろしくお願いします。
 エクセルで分ごとの最大値と最小値を求める関数を教えて頂きたく、よろしくお願いします。

例)
     A1         B2
2007/9/6 15:11:54   5
2007/9/6 15:10:43   1
2007/9/6 15:10:33   22
2007/9/6 15:10:20   21
2007/9/6 15:10:16   54
2007/9/6 15:10:10   23
2007/9/6 15:10:08    12
2007/9/6 15:09:54    3
2007/9/6 15:09:24   34
"
"
と言うデーターを。
  ...続きを読む

Aベストアンサー

こんばんは。

一度、試していただきたいのは、最小値が出ている数式を、数式バー上でコピーして、
そのまま、同じ行の、最大値に貼り付けて、そこで、MIN とあるものを、MAX に変えてみてください。

なお、そろそろ、「補足側」でなく、「お礼側」にコメントつけてください。コメントが不足した場合に、「補足」につけてくださればよいです。そうすると、不定期な書き込みでも、こちらには、確実、メールの連絡が入るようになりますので、回答がしやすくなります。すぐに、返事が出来るわけではありませんが、よろしくお願いします。

Qエクセルで時刻だけを抜き出すことは

たとえばウェブ上に3年分の売り上げデータ表があり
コピー&ペーストでエクセルに貼り付けるとします。
売り上げ発生の時刻が
 2008.05.12 13:01
 2008.05.14 16:28
 2008.05.15 11:01
    :
    :
という形式になっているのですが
これを元に時間帯別(年月日はデータに不要)の売り上げを知りたい、
1時間=1本、あるいは30=1本の棒グラフを描きたい、
と思ったときに何か良い方法があるのでしょうか?

時刻の部分のみ目で拾って入力するには少し量が多すぎるので
便利なツール、関数、やりかたなどありましたら教えていただけないでしょうか。


 

Aベストアンサー

一列挿入して、時刻を取出す式を入れる。
=HOUR(RIGHT(A1,5))

ピボットテーブル。
http://kokoro.kir.jp/excel/pivottable.html

QEXCELで日付と時刻が入ったセルを日付だけ取り出したい

(例)

 2005/9/10 13:10:23

が入ったセルが有ります、使いたいのは日付だけ
 なんですが、どうすればできるのか?

 ※結果は別のセルに成っても良いし、元のセルでも可

 宜しくご教授お願いします。

Aベストアンサー

私も単に書式を変えるだけでいいと思いますが、
時間部分のデータを削除したいということであれば、
時間部分は、小数データ部分なので、
=INT(A1)
とかしてやれば時間データをクリアすることができます。
その後書式の設定をしてやって下さい。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング