从单元格中找到独特的月-年组合

Find unique month-year combinations from cells

我有一个元胞数组 Date,其中包含日期(日-月-年)。 我想为每个单元格找到独特的月份和年份组合。

日期时间格式如下所示

'20-Oct-2013 00:00:00'
'20-Oct-2013 03:00:00'
'20-Oct-2013 06:00:00'
'20-Oct-2013 09:00:00'
'20-Oct-2013 12:00:00'
'20-Oct-2013 15:00:00'
'20-Oct-2013 18:00:00'
'20-Oct-2013 21:00:00'
'21-Oct-2013 00:00:00'

简化示例

cell1:
1-1-2001
2-1-2001
2-5-1191
5-6-2000
9-8-2000

cell2:
7-8-2008
8-8-2008
16-8-2008
9-6-2009

我希望我的输出是

cell1:
1-2001
5-1191
6-2000
8-2000

cell2:
8-2008
6-2009

我目前使用的代码是

for i = 1:lenNF %76 cells
   unique([month(Date{i});year(Date{i})])
end

这给了我以下输出,这使得无法确定哪个月属于哪一年。

   1
   2
   3
   4
   5
   9
  10
  11
  12
2010
2011

我需要在我的代码中进行哪些调整才能确保我仍然知道哪个月份属于哪一年?

您可以在两列结构中为每个单元格创建一个仅包含日-月的数组。然后是对 unique(array,'rows') 的简单调用,其中 'rows' 选项确保在您独特的日-月组合中找到独特的行。

您可以通过在每个单元格上调用 array=datevec() 来构建数组,然后 unique(array(:,1:2)) 就可以了,因为第一列包含年份,第二列包含月份。