excel数据提取问题
提供两种情况的表格公式,请根据实际情况选择:
情况一:假定这么多年每天都是必定有数据的,从不缺少的,且一天只有一行数据。
C1公式下拉:
=DATE(1998+INT(ROW(A12)/12),MOD(ROW(A12),12)+2,)
D1公式下拉:
=IF(COUNTIF(A:A,C1),VLOOKUP(C1,A:B,2,),"")
情况2:假定这么多年可能存在一些月份缺少了天数的,可能一个月只有10天或20天或。。X天的数据,,且同一天有多行数据,只读取同一天最后一行对应的B列数据。
C1公式下拉:
=IF(SUMPRODUCT(((YEAR(A$1:A$6000)=(1998+INT(ROW(A12)/12)))*(MONTH(A$1:A$6000)=(MOD(ROW(A12),12)+1)))),LOOKUP(1,0/((YEAR(A$1:A$6000)=(1998+INT(ROW(A12)/12)))*(MONTH(A$1:A$6000)=(MOD(ROW(A12),12)+1))),A$1:A$6000),"")
D1公式下拉:(如果情况一是同一天有多行数据的,可把这公式直接应用于情况一)
=IF(C1="","",LOOKUP(1,0/(A$1:A$6000=C1),B$1:B$6000))
我把文件传上来,请点击这回答右下角绿色的“点击下载”按钮,下载文件看看效果。
情况一图例:
情况2图例:
2013-07-21
需要增加一列 C 放置每个年、月 值 作为统计时 查找数据的依据……
详细见附件吧 ……
D1 =IF(MAX(IF(MONTH($A$1:$A$100)=MONTH(C1),IF(YEAR($A$1:$A$100)=YEAR(C1),$A$1:$A$100,"")))=0,"",MAX(IF(MONTH($A$1:$A$100)=MONTH(C1),IF(YEAR($A$1:$A$100)=YEAR(C1),$A$1:$A$100,""))))
三键组合数组公式……
E1 =IF(D1="","",VLOOKUP(D1,A:B,2,0))
假如日期从O3开始,数据从P3开始,统计的年数从1991年1月1日开始,我该修改什么参数?谢谢!
参看附件中的公式 与数据的位置关系……
最主要的是 新增加的一列 公式中的 C列 你放在哪里?从1991-1开始 往下复制 每年12个 月……
并把 公式中的 A1:A100 修改成 O3:O100 区域的大小根据你的数据多少 来调整……A:B 修改成 O:P
研究一下附件 举一反三吧……