アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在、下記表の例で、元データを参照し、日時によって最新のデータを関数にて表示させようとしています。MAX,INDEXの応用でif等を用いてとは考えているのですが、少し複雑なため、お力をお借りできればと思い投稿しました。申し訳ございませんが宜しくお願い致します。

内容:元データ内には日付と登録番号が並んでおり、その各登録番号にはいくつかの情報が記載されています。記載されている情報には、現在の進行状況が記載されており、『完了』となっているもの以外で、現在進行している情報と最新の情報のみを別シートの日付をもとに表示させようと思っています。別シートにはその情報を各欄に表示させる為、MAX,INDEX等を使用し、複数条件で関数を組もうと思っていますがどうしてもこの条件化で関数が思いつきません。
一点、もしE列に最新情報ではなく、『新規』作成された日の日付を表示させようとしたらどのようになりますでしょうか?宜しくお願いします。

元データ;
   A   B    C    D
1  日付  番号  状況   備考
2   4/1  1111  新規  A様より
3   4/10 1111 進行中 C様より更新
4   4/10 2222  新規  。。。。
5   4/18 3333  新規  。。。。
6   4/18 1111  完了  
7   4/18 2222  進行中 ****
8  4/19 3333  進行中 ****

別シート;(進行している登録番号(情報)があればすべて表示)
    A      B   C     D      E
1                       =Today()
2   最新の日付  番号  状況   備考   作成日
3   4/18    2222  進行中  ****  4/10
4   4/19    3333  進行中  ****  4/18  
5   
6   
7  
 
申し訳ございませんがお力添え宜しくお願いします。

A 回答 (1件)

こんばんは!


一例です。

↓の画像のように元データはSheet1にあり、Sheet2に表示するとします。
作業用の列を設ける方法が判りやすいと思います。

Sheet1の作業列E2セルに
=IF(C2="進行中",IF(COUNTIFS(B2:B$1000,B2,C2:C$1000,"完了"),"",ROW()),"")
という数式を入れフィルハンドルでずぃ~~~!っと下へコピーしておきます。

そして、Sheet2のA3セルに
=IFERROR(INDEX(Sheet1!A$1:A$1000,SMALL(Sheet1!$E:$E,ROW(A1))),"")
という数式を入れ、D3セルまでフィルハンドルでコピー!

E3セルには
=IF(A3="","",MIN(IF(Sheet1!B$1:B$1000=B3,Sheet1!A$1:A$1000)))
これは配列数式になりますので、Ctrl+Shift+Enterで確定!
この画面からコピー&ペーストする場合は
上記数式をドラッグ&コピー → E3セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま)
Ctrl+Shiftキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。
A3・E3セルの表示形式を「日付」にしておき、
最後にA3~E3セルを範囲指定 → E3セルのフィルハンドルで下へコピー!
これで画像のような感じになります。m(_ _)m
「Excel関数 MAX,INDEXかと思」の回答画像1
    • good
    • 1
この回答へのお礼

ご返事遅くなりました。ありがとうございました。
最新のデータとして考えてた為、MAXかと、また参照するのにINDEXとも思ってましたが、COUNTIFでMIN、SMALLとこういう風に使えば良かったのですね。勉強になりました。本当にありがとうございました。

お礼日時:2015/04/22 19:35

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