- 締切済み
【Excel】INDEXとMATCH関数で日付の期
シートA:テーブルにて、日付・カテゴリ・項目 シートB:シートAから指定したカテゴリと日付の期間を抽出 シートBには、 B2でカテゴリ選択(例:野菜) C2で始まりの日付(例:12/1) D2で終わりの日付(例:12/7) ※野菜のカテゴリ かつ 12/1以上12/7以下 INDEXとMATCH関数を使いたいのですが、日付を期間として指定する方法がわかりません。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17070)
#1ですが、 https://nyanto.jimdofree.com/%EF%BD%B4%EF%BD%B8%EF%BD%BE%EF%BE%99%E9%96%A2%E6%95%B0-%E8%AA%AC%E6%98%8E/index-match%E9%96%A2%E6%95%B0%E3%81%A7%E6%9D%A1%E4%BB%B6%E3%81%AB%E5%90%88%E3%81%A3%E3%81%9F%E8%A1%8C%E3%81%AE%E5%80%A4%E3%82%92%E6%8A%9C%E3%81%8D%E5%87%BA%E3%81%99%E5%9F%BA%E6%9C%AC%E7%9A%84%E3%81%AA%E4%BD%BF%E3%81%84%E6%96%B9/excel%E3%81%AEindex-match%E9%96%A2%E6%95%B0%E3%81%A7%EF%BC%92%E7%95%AA%E7%9B%AE-%EF%BC%93%E7%95%AA%E7%9B%AE%E4%BB%A5%E9%99%8D%E3%81%AE%E5%80%A4%E3%82%92%E6%8A%BD%E5%87%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/ INDEX+MATCH関数で複数該当の2番目以降を抽出する方法 <ーこの語句で、Google照会を勧める を読んでください。 そして、上記の記事の関数の応用で、「何番目かの指定をする」ところで、Row()(式を入れた行番号を採る)を使っって、式を行方向に複写したとき、Row()の値は、各行で、行方向に1,2,3,・・となるので、これを使ってみてください。多分うまく行くと思う。 Small関数・LARGE関数は、X番目に(小さい値や)大きい値はどれと、1番以外にも使えます、から。
- imogasi
- ベストアンサー率27% (4737/17070)
Sheet1 A1:C16 日付 カテ 項目 2022/10/1 aa X 2022/10/1 bb Y 2022/10/1 cc Z 2022/10/1 bb X 2022/10/3 cc Y 2022/10/3 aa Z 2022/10/3 cc X 2022/10/4 bb Y 2022/10/4 aa V 2022/10/4 aa W 2022/10/4 cc Y 2022/10/6 bb Z 2022/10/6 cc X 2022/10/6 aa Y 2022/10/6 bb Z ーー Sheet2のA1:C1に、条件のデータとして aa 2022/10/2 2022/10/4 ーー Shee1の、E2に 、条件に該当分の(上行からの)連番をふる=IF(AND(Sheet1!A2<=Sheet2!$C$1,Sheet1!A2>=Sheet2!$B$1,Sheet1!B2=Sheet2!$A$1),MAX($E$1:E1)+1,"") == Sheet2のA2に =IF(ROW()-1>MAX(Sheet1!$E$1:$E$16),"",OFFSET(Sheet1!$A$2,MATCH(ROW()-1,Sheet1!$E$2:$E$16)-1,COLUMN()-1)) A2:C2を範囲指定し、C2で+ハンドルを出し16行まで引っ張る。 ーー 結果 Sheet2のA2の以下行、以右列に 2022/10/3 aa Z 2022/10/4 aa V 2022/10/4 aa W == 日付けを変えて結果を確認してみてください。 以上は、FILTERが関数ができる前の、旧時代の質問での、自称imogasi方式です。 == このようにエクセルで関数で、抜出し(フィルタ)をやるのは複雑になる。 == エクセルの新しいバージョンでは、Filter関数ができている。 エクセルの自分か使っているバージョンを書かないで質問するのは、危険である例。 参考 https://exceljoshi.cocoo.co.jp/media/excel-filter エクセル(関数)の新しい解説書を読め。