- ベストアンサー
エクセルで日次時系列データから月初と月末のみを抽出
エクセルで為替の日次時系列データをダウンロードしました。 私が利用したいのは月の最初と最後の日のデータのみなので、 その部分のみを抽出する方法を知りたいです。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
例えば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))) これで月の初めと終わりのデータが表示されます。
その他の回答 (2)
添付図参照 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 を右方および下方にズズーッとドラッグ&ペースト
お礼
ご回答ありがとうございます。 申し訳ありませんが、私の勉強不足により 内容が理解できませんでした。
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No1です。別のシートのA列には数値が表示されるでしょうがA列を選択してセルの書式設定から表示形式で日付を指定してください。
お礼
無事抽出することができました。 ありがとうございます。