• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルの種類ごとの最後の時間)

エクセルの種類ごとの最後の時間を求める方法

このQ&Aのポイント
  • エクセルで日付ごとにC列の数字の最後の時間を求める方法について教えてください。
  • 具体的なデータが以下のようになっています。A列は日付、B列は時間、C列は数字です。
  • 2010/7/27の場合は、C列に1111が2回登場しているため、最後の時間は8:02です。同様に、2010/7/28の場合は、最後の時間は8:06です。関数やマクロを使用して解決する方法を教えてください。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

>種類ごとの最後の時間 この意味があいまい。時間的に「後」でなくて、シートに記録行的に一番下というなら、 ピボットは使えないのかなと思った。ピボットのデータに最後(LAST)はない。 追加列D列に連番を振り A列  B列  ℃列  D列 2010/7/27 8:00 1111 1 2010/7/27 8:01 2222 2 2010/7/27 8:02 1111 3 2010/7/28 8:00 2222 4 2010/7/28 8:03:00 1111 5 2010/7/28 8:05:00 2222 6 2010/7/28 8:06:00 1111 7 A,C,Dでこの順序で並べ替え 2010/7/27 8:00 1111 1 2010/7/27 8:02 1111 3 2010/7/27 8:01 2222 2 2010/7/28 8:03:00 1111 5 2010/7/28 8:06:00 1111 7 2010/7/28 8:00 2222 4 2010/7/28 8:05:00 2222 6 コード 日とコードの単位で最後に出てきたデータを拾うロジック。 H,I、J列に結果。 Sub test01() d = Range("A65536").End(xlUp).Row k = 1 For i = 1 To d If Cells(i, "A") = Cells(i + 1, "A") Then If Cells(i, "C") = Cells(i + 1, "C") Then GoTo nxt Else GoTo w1 End If End If w1: Cells(k, "H") = Cells(i, "A") Cells(k, "I") = Cells(i, "B") Cells(k, "J") = Cells(i, "C") k = k + 1 nxt: Next i End Sub --- H-J列に 2010/7/27 8:02:00 1111 2010/7/27 8:01:00 2222 2010/7/28 8:06:00 1111 2010/7/28 8:05:00 2222 ーーーーーー 時刻の一番遅いものなら A,C,Bの順にソート コードは同じで良いようだ。同じく各単位で最後に出現するものを拾う。 質問はコードが横方向に流れているが、プログラムを改良する必要はあるが、とりあえず略。

sarukou
質問者

お礼

時刻がコードとしてのデータでしたので参考になりました。ありがとうございました。

その他の回答 (4)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.4

ANo.3です。 ちょっと訂正 誤:その際、日付の最大値を表示するようにする。 ↓ 正:その際、時刻の最大値を表示するようにする。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

各列に項目名を付けてピボットテーブルで集計。 その際、日付の最大値を表示するようにする。

sarukou
質問者

お礼

 わかりやすい説明ありがとうございました。

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.2

=SUMPRODUCT(MAX(($A$1:$A$7=日付セル)*($C$1:$C$7=数値セル)*$B$1:$B$7)) こんな感じかな

sarukou
質問者

お礼

ありがとうございました。

回答No.1

求めたい結果が、解説だけでは不明ですが、 2通り考えられたのでどちらかでしょう。 解釈1 F2セル =MAX(IF($A$1:$A$7= F$1,IF($C$1:$C$7= $E2,$B$1:$B$7))) [Ctrl]+[Shft] +[Enter] で確定、配列数式です({}で囲まれる) 右へ 下へオートフィル 解釈2 =LOOKUP(2,IF($A$1:$A$7=F$1,IF($C$1:$C$7=$E2,$B$1:$B$7))) [Ctrl]+[Shft] +[Enter] で確定、配列数式です({}で囲まれる) 右へ 下へオートフィル 添付図 黄色のセル 解釈1の場合タイトル行があればピボットテーブルで最大値でもいいかも

sarukou
質問者

お礼

 早い回答ありがとうございました。

関連するQ&A