2016-02-12 64 views
0

我有一個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 | 
+----+------------+-----------+------+------+------+-----+ 

任何幫助非常感謝!謝謝!

回答

3

假設數據是在列A和B,具有標題行,和你有多年在頂部去,你可以(在C2處)使用此:

=IF(YEAR($B2)=C$1,"Yes","No")並拖動和向下。

enter image description here

非常簡單。它從B列中取得YEAR,在當前列的標題行中檢查年份,如果它們匹配則放入「是」。

注意,我們沒有對ID做任何事情。也許這沒關係,但我想你會因爲某種原因將它們包含在你的示例中(可能不是),所以如果你想進一步減少它,請更新你的OP。

編輯:對於funsies,如果你只是想拖慎之又慎,添加一條語句,把它留空白是否有B中沒有數據:=If($B2<>"",IF(YEAR($B2)=C$1,"Yes","No"),"")

+1

感謝布魯斯。我曾想過同樣的方法,但是想知道是否有更快的方式來填充數據。這證實了它! –

+0

@HimanshuAgrawal - 是的,我在想如果有更快的方法。我真的不這麼認爲 - 也許用VBA,但是我們真的只是加速一個快速的過程大概0.5秒,而這有點矯枉過正。除非上述內容真的妨礙了你的工作(換句話說,你希望它會更快),否則我認爲這是最有效的解決方案。 – BruceWayne

+1

我同意布魯斯......再次感謝! –

相關問題