• ベストアンサー

エクセルで日次時系列データから月初と月末のみを抽出

エクセルで為替の日次時系列データをダウンロードしました。 私が利用したいのは月の最初と最後の日のデータのみなので、 その部分のみを抽出する方法を知りたいです。 よろしくお願いします。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

例えばA2セルから下方に日付が時系列で、B2セルから下方には何らかのデータがあるとします。C列は作業列としてC2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",IF(ROW(A1)=1,1,IF(OR(MONTH(A2)<>MONTH(A3),MONTH(A2)<>MONTH(A1)),MAX(C$1:C1)+1,""))) 別のシートに望みのデータを表示させるとして別のシートのA2セルには次の式を入力してB2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ROW(A1)>MAX(Sheet1!$C:$C),"",INDEX(Sheet1!$A:$B,MATCH(ROW(A1),Sheet1!$C:$C,0),COLUMN(A1))) これで月の初めと終わりのデータが表示されます。

strang3r
質問者

お礼

無事抽出することができました。 ありがとうございます。

その他の回答 (2)

noname#204879
noname#204879
回答No.3

添付図参照 Sheet2 において入力する数式は次のとおり なお、上2つは配列数式です。(意味が分からなければ、この回答は無視してください) A5: {=MIN(IF((Sheet1!A$2:A$91>=DATE(B$1,B$2+INT((ROW(Sheet1!A1)-1)/2),1))*(Sheet1!A$2:A$91<=DATE(B$1,B$2+INT((ROW(Sheet1!A1)-1)/2)+1,0)),(Sheet1!A$2:A$91>=DATE(B$1,B$2+INT((ROW(Sheet1!A1)-1)/2),1))*(Sheet1!A$2:A$91<=DATE(B$1,B$2+INT((ROW(Sheet1!A1)-1)/2)+1,0))*(Sheet1!A$2:A$91),""))} A6: {=MAX(IF((Sheet1!A$2:A$91>=DATE(B$1,B$2+INT((ROW(Sheet1!A1)-1)/2),1))*(Sheet1!A$2:A$91<=DATE(B$1,B$2+INT((ROW(Sheet1!A1)-1)/2)+1,0)),(Sheet1!A$2:A$91>=DATE(B$1,B$2+INT((ROW(Sheet1!A1)-1)/2),1))*(Sheet1!A$2:A$91<=DATE(B$1,B$2+INT((ROW(Sheet1!A1)-1)/2)+1,0))*(Sheet1!A$2:A$91),""))} B5: =IF($A5,VLOOKUP($A5,Sheet1!$A:$E,COLUMN(Sheet1!B1),FALSE),"") 範囲 A5:A6 を選択して、此れを下方にズズーッとドラッグ&ペースト セル B5 を右方および下方にズズーッとドラッグ&ペースト

strang3r
質問者

お礼

ご回答ありがとうございます。 申し訳ありませんが、私の勉強不足により 内容が理解できませんでした。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

回答No1です。別のシートのA列には数値が表示されるでしょうがA列を選択してセルの書式設定から表示形式で日付を指定してください。

関連するQ&A