【会員アンケートご協力のお願い】抽選で計5名様に役立つ書籍をプレゼント!

Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 11 Home : Excel 2013)
関数を教えてください
投稿日時: 24/09/07 13:00:51
投稿者: GOA

エクセル初心者です。下記の関数を教えてください。
 
A列に日付と時間、B列に金額
 
   A        B
2024/9/1 12:30 .....30,000
2024/9/3 22:00 .....50,000
2024/9/2 10:40 .....30,000
2024/9/5 12:30 .....10,000
2024/9/5 20:30 .....20,000
 
任意のセルに、A列の一番進んだ時間のB列の金額を抽出する関数
この場合、2024/9/5 20:30の20,000を表示させる。
 
よろしくお願いいたします。
 
 
 
 

回答
投稿日時: 24/09/07 15:44:03
投稿者: WinArrow

>A列の一番進んだ時間
 
を最大値と考えれば、いかがでしょう?
でも、最大値が複数あった場合は?

投稿日時: 24/09/07 15:51:01
投稿者: GOA

>A列の一番進んだ時間
最大値です。
データの性質上、最大値が複数になる事はありません。

回答
投稿日時: 24/09/07 15:55:19
投稿者: WinArrow

Excel2013の環境では、MXXIFS関数が使えないですね?
DMAX関数が使えるかも

回答
投稿日時: 24/09/07 16:09:23
投稿者: WinArrow

DMAX代案
 
=INDEX(A1:B5,MATCH(MAX(A1:A5),A:A,0),2)

回答
投稿日時: 24/09/08 12:22:14
投稿者: WinArrow

もう一つの代案
  
=SUMPRODUCT((A1:A5=MAX(A1:A5))*B1:B5)
 
前レスの数式を↓のように訂正します。
=INDEX(A1:B5,MATCH(MAX(A1:A5),A1:A5,0),2)
 
表のレイアウト説明でh、項目名が記載されていなかったので
例えば、1行目に項目名がある場合は、参照セル範囲が変わってきます。
 
また、データ量が変わった場合は、数式の変更が必要になります。
※データ量に対応した数式の組立方もありますが、
 
基本的なことをキチンと理解しましょう。

回答
投稿日時: 24/09/11 17:57:54
投稿者: QooApp

一番進んだ時刻、というルールは
 
A列の時刻の並びがぐちゃぐちゃにランダムに配置されている場合がある。
ということになるのでしょうか。
 
単に一番下の行が最新時刻だというのであれば、最終行を参照すればいいだけにも見えますがいかがでしょうか。

回答
投稿日時: 24/09/14 17:42:24
投稿者: Mike

     A     B  C  D    E    F    G    H
1 日時      金額
2 2024/9/1 12:30 30,000  20,000 ←A列の一番進んだ時間のB列の金額
3 2024/9/3 22:00 50,000
4 2024/9/2 10:40 30,000         名前の管理
5 2024/9/5 12:30 10,000         名前 参照範囲
6 2024/9/5 20:30 20,000         金額 =Sheet1!$B$2:$B$6
                     日時 =Sheet1!$A$2:$A$6
D2: =VLOOKUP(MAX(日時),A1:B6,2,0)

回答
投稿日時: 24/09/15 18:18:28
投稿者: WinArrow

Mikeさんのレス:VLOOKUP関数は分かりやすいですね・・・・
  
可変なデータ量に対応可能な関数を紹介します。
  
数式の中のセル範囲指定(例、A2:B6)は、
データ量が変化すると、数式を変更する必要があります。
 
そこで、データ量を自動で取得する仕掛けを作成します。
それが、
データ量変化に対応する範囲指定を「名前定義」します。
 
名前:範囲A(名前は任意です)
参照範囲:=OFFSET($A$2,0,0,COUNTA($A:$A)-1,2)
  
Mikeさんのレスをお借りして、VLOOKUP関数に上記の名前を組み込みます(表のレイアウトもお借りします)
  
=VLOOKUP(MAX(範囲A,,1),範囲A,2,FALSE)
  
 

トピックに返信