如何根据一列中的不同值填充多个列

我有一个excel文件:

+----+------------+ | ID | Order date | +----+------------+ | A | 1/1/2011 | | A | 1/3/2012 | | A | 1/8/2013 | | A | 1/20/2014 | | A | 1/23/2015 | | B | 1/1/2011 | | B | 1/20/2014 | | B | 1/23/2015 | +----+------------+ 

我想把它转换成一个报告,告诉我这些人多年来以以下格式购买产品:

 +----+------------+-----------+------+------+------+-----+ | ID | Order date | 2011 2012 | 2013 | 2014 | 2015 | | +----+------------+-----------+------+------+------+-----+ | A | 1/1/2011 | Yes | No | No | No | No | | A | 1/3/2012 | No | Yes | No | No | No | | A | 1/8/2013 | No | No | Yes | No | No | | A | 1/20/2014 | No | No | No | Yes | No | | A | 1/23/2015 | No | No | No | No | Yes | | B | 1/1/2011 | Yes | No | No | No | No | | B | 1/20/2014 | No | No | No | Yes | No | | B | 1/23/2015 | No | No | No | No | Yes | +----+------------+-----------+------+------+------+-----+ 

任何帮助深表感谢! 谢谢!

假设数据在列A和列B中,并且有一个标题行,并且你有多年的时间,你可以使用这个(放在C2中):

=IF(YEAR($B2)=C$1,"Yes","No")并上下拖动。

在这里输入图像说明

非常简单 它从B列中获取YEAR ,在当前列的标题行中检查年份,如果匹配,则放置“Yes”。

注意,我们没有做任何事情的ID。 也许没关系,但是我想你是因为某种原因把它们包含在你的示例中的(可能不是),所以如果你想进一步缩小这个范围,更新你的OP。

编辑:对于funsies,如果你只是想拖动willy-nilly,添加一个语句让它保持空白如果没有数据在B: =If($B2<>"",IF(YEAR($B2)=C$1,"Yes","No"),"")