如何根据一列中的不同值填充多个列
我有一个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"),"")