Filter duplicates on same date

Array formula in F3:

=INDEX($C$3:$C$11, SMALL(IF(MATCH($C$3:$C$11&$D$3:$D$11, $C$3:$C$11&$D$3:$D$11, 0)<>ROW($C$3:$C$11)-MIN(ROW($C$3:$C$11))+1, ROW($C$3:$C$11)-MIN(ROW($C$3:$C$11))+1, ""), ROW(A1))) + CTRL + SHIFT + ENTER.

Copy cell and paste it down as far as needed.

Array formula in G3:

=INDEX($D$3:$D$11, SMALL(IF(MATCH($C$3:$C$11&$D$3:$D$11, $C$3:$C$11&$D$3:$D$11, 0)<>ROW($C$3:$C$11)-MIN(ROW($C$3:$C$11))+1, ROW($C$3:$C$11)-MIN(ROW($C$3:$C$11))+1, ""), ROW(A1))) + CTRL + SHIFT + ENTER.

Copy cell and paste it down as far as needed.

Filter duplicates within same week

Formula in B16:

=WEEKNUM(C16) + ENTER

Array formula in F16:

=INDEX($C$16:$C$24, SMALL(IF(MATCH(YEAR($C$16:$C$24)&"-"&$B$16:$B$24&"-"&$D$16:$D$24, YEAR($C$16:$C$24)&"-"&$B$16:$B$24&"-"&$D$16:$D$24, 0)<>ROW($C$16:$C$24)-MIN(ROW($C$16:$C$24))+1, ROW($C$16:$C$24)-MIN(ROW($C$16:$C$24))+1, ""), ROW(A1))) + CTRL + SHIFT + ENTER.

Copy cell and paste it down as far as needed.

Array formula in G16:

=INDEX($D$16:$D$24, SMALL(IF(MATCH(YEAR($C$16:$C$24)&"-"&$B$16:$B$24&"-"&$D$16:$D$24, YEAR($C$16:$C$24)&"-"&$B$16:$B$24&"-"&$D$16:$D$24, 0)<>ROW($C$16:$C$24)-MIN(ROW($C$16:$C$24))+1, ROW($C$16:$C$24)-MIN(ROW($C$16:$C$24))+1, ""), ROW(A1))) + CTRL + SHIFT + ENTER.

Copy cell and paste it down as far as needed.

Filter duplicates within same month

Array formula in F29:

=INDEX($C$29:$C$37, SMALL(IF(MATCH(YEAR($C$29:$C$37)&"-"&MONTH($C$29:$C$37)&"-"&$D$29:$D$37, YEAR($C$29:$C$37)&"-"&MONTH($C$29:$C$37)&"-"&$D$29:$D$37, 0)<>ROW($C$29:$C$37)-MIN(ROW($C$29:$C$37))+1, ROW($C$29:$C$37)-MIN(ROW($C$29:$C$37))+1, ""), ROW(A1))) + CTRL + SHIFT + ENTER.

Copy cell and paste it down as far as needed.

Array formula in G29:

=INDEX($D$29:$D$37, SMALL(IF(MATCH(YEAR($C$29:$C$37)&"-"&MONTH($C$29:$C$37)&"-"&$D$29:$D$37, YEAR($C$29:$C$37)&"-"&MONTH($C$29:$C$37)&"-"&$D$29:$D$37, 0)<>ROW($C$29:$C$37)-MIN(ROW($C$29:$C$37))+1, ROW($C$29:$C$37)-MIN(ROW($C$29:$C$37))+1, ""), ROW(A1))) + CTRL + SHIFT + ENTER.

Copy cell and paste it down as far as needed.

Download excel sample file for this article.

Filter-duplicates-within-same-date-week-month-year.xls
(Excel 97-2003 Workbook *.xls)

Functions in this article:

IF(logical_test;[value_if:true];[value_if_false])
Checks whether a condition is met, and returns one value if TRUE, and another value if FALSE

SMALL(array,k) returns the k-th smallest row number in this data set.

INDEX(array,row_num,[column_num])
Returns a value or reference of the cell at the intersection of a particular row and column, in a given range

MIN(number1,[number2])
Returns the smallest number in a set of values. Ignores logical values and text

ROW(reference) returns the rownumber of a reference

MATCH(lookup_value;lookup_array; [match_type])
Returns the relative position of an item in an array that matches a specified value

YEAR(serial_number) returns the year of a date, an integer of the range 1900-9999

MONTH(serial_number) returns the month, a number from 1 (January) to 12 (December)

WEEKNUM(serial_number, return_type)
Returns the week number in the year