[[20180609082753]] 『該当月のみ取り出す』(ASKA) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『該当月のみ取り出す』(ASKA)

おはようございます。

G21:G40まで日付が入力されています。
A20には7、B20には8、C20は9が入力されていて、それぞれ月を意味します。
A21:A24にはG列で7月の日付があれば、それぞれ日付を入力させたいです。
B21:B24, C21:C24までも同様に8、9月の日付を入力させる。

Month, IfやIndex関数などを見てみたのですが、よくわかりませんでした。ご教示いただければ大変助かります。どうぞよろしくお願い致します。

<現在入力されている値>
【G列】
G21 7月1日
G22 7月8日
G23 8月13日
G24 8月14日
G25 9月17日
G26 9月23日
G27 10月1日
G28 10月10日
(以下省略)

【A列】
A20 7
A21
A22
A24
A23
A24
A25
A26
(以下省略)

<反映させたいこと>
A21 7月1日
A22 7月8日
A23 8月13日
A24 8月14日
A25 9月17日
A26 9月23日
(以下省略)

< 使用 Excel:Excel2013、使用 OS:Windows10 >


本文と例示の<反映させたいこと> が一致していないように
思いますが、どうなんでしょうか?

A21: =IFERROR(INDEX($G$21:$G$40,SMALL(IF(MONTH($G$21:$G$40)=A$20,ROW($A$1:$A$20),""),ROW(A1))),"")

「Ctrl + Shift + Enter」キーで式を入力します。(配列数式)

この式を「A21:C24」の範囲にコピーします。
(メジロ) 2018/06/09(土) 09:35


 >G21:G40まで日付が入力されています。

 これは手入力?
 範囲内はすべて日付で埋まってるんですかね?
 空白(未入力)があると、MONTH関数はそれを「1月」とみなします。

 昇順でいいのなら

 A21 =IFERROR(SMALL(IF(TEXT($G$21:$G$40,"m;;")=A$20&"",$G$21:$G$40),ROW(A1)),"")

 Ctrl+Shift+Enterで確定
 表示形式を「日付」にして、右・下コピー

 参考まで
(笑) 2018/06/09(土) 09:55

メジロさん

二通りの方法をご教授いただき、ありがとうございました。
助かりました。
SMALL関数は初めて知りました。
Excelは学ぶことが多いですが、楽しいです。

(ASKA) 2018/06/09(土) 20:55


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.