G列に金額の羅列なのでしょうか? 情報としては、G列年月、H列金額と表示するのでは?
【前提】 1)A列に重複した日付は無い 2)A1:A2に数値は入力されない 3)G列にA列の最小日付〜最大日付の年月を自動でセット 4)H列に第三木曜日売上げをセットするが、該当するデータが無い場合は0で表示
【設定】 1)G3セルに以下の数式を入力して、表示形式を yyyy/mm と指定し G4〜G62(計60行=12ヶ月×5年)へセルコピー =IF(DATE(YEAR(MAX(A:A)),MONTH(MAX(A:A)),1)<DATE(YEAR(MIN(A:A)),MONTH(MIN(A:A))+ROW(A1)-1,1),"",DATE(YEAR(MIN(A:A)),MONTH(MIN(A:A))+ROW(A1)-1,1))
a)DATE(YEAR(MAX(A:A)),MONTH(MAX(A:A)),1) A列の最大年月の月初日の算出 A列のから最大の年月日を求め[MAX(A:A)]その年月の月初日を求める DATE関数で、年[YEAR(MAX(A:A))]・月[MONTH(MAX(A:A))]・日[1]を 指定して月初日のシリアル値を算出 b)DATE(YEAR(MIN(A:A)),MONTH(MIN(A:A))+ROW(A1)-1,1) A列の最小年月に、現在までの表示件数分の月数を加算した年月の月初日を求める A列のから最小の年月日を求め[MIN(A:A)] DATE関数で、年[YEAR(MAX(A:A))]・月[MONTH(MAX(A:A))]+表示件数[ROW(A1)-1]・日[1]を 指定して現在表示する年月の月初日のシリアル値を算出 c)=IF(A列の最大年月[a)の日付]<現在表示する年月[b)の日付], A列の最大日付(月初日)より、表示する年月(月初日)が大きければ データなしなので""をセット、 そうで無いときはb)の年月(月初日)をセット
2)H3セルに以下の数式を入力して、表示形式を 標準 と指定しH4〜H62へセルコピー =IF(ISNA(VLOOKUP(G3+IF(5-WEEKDAY(G3)<0,21,14)+5-WEEKDAY(G3),A:F,6,FALSE)),0,VLOOKUP(G3+IF(5-WEEKDAY(G3)<0,21,14)+5-WEEKDAY(G3),A:F,6,FALSE))
a)=IF(ISNA(検索結果),0,検索結果) b)の検索が#N/Aで該当ナシの場合は0を、そうで無い時は検索結果をセット
b)VLOOKUP(G3+IF(5-WEEKDAY(G3)<0,21,14)+5-WEEKDAY(G3),A:F,6,FALSE) ・検索値 :G3+IF(5-WEEKDAY(G3)<0,21,14)+5-WEEKDAY(G3) (G列の年月の第三木曜日を算出) ・WEEKDAY(G3)で月初日の曜日を求める(1〜7が日〜土に対応) ・月初日の木曜からの変位[5-WEEKDAY(G3)]が マイナスの場合、月初日の週に第一木曜は無いので+27(3週先) 0以上の場合は月初日の週に第一木曜があるので+14(2週先) ・G3(月初日)+月初日の木曜日からの変位で 月初日の週の木曜日の年月日を求め 14日(または27日)を加算する事で第三木曜日を算出 ・検索範囲 :A:F ・抽出列番号:6 (F列) ・検索の型 :FALSE (完全一致TRUE)
|