Удалить повторяющиеся даты, исключая первый и последний в Excel - PullRequest
0 голосов
/ 03 февраля 2019

Как удалить все повторяющиеся даты, кроме 1-й и последней даты.

Пожалуйста, смотрите скриншот.

enter image description here

Я хотел бы сделать столбец B как столбец D.

Возможно ли это?

Спасибо,

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

Вот еще один вариант (не явно формула массива)

=IFERROR(
CHOOSE(MOD(ROWS($1:3),3)+1,
AGGREGATE(15,6,B$2:B$30/(INT(B$2:B$30)=AGGREGATE(15,6,INT(B$2:B$30)/(INT(B$2:B$30)>D1),1)),1),
AGGREGATE(14,6,B$2:B$30/(INT(B$2:B$30)=AGGREGATE(15,6,INT(B$2:B$30)/(INT(B$2:B$30)>D1),1)),1),
""),
"")

, но, поскольку я сравниваю даты с датами на 3 строки раньше (первоначально в D1), формула должна быть введена в D4 и D1 иD2 необходимо оставить пустым.

enter image description here

0 голосов
/ 03 февраля 2019

CHOOSE, ROW, MIN, MAX, DAY

Если ваш исходный диапазон равен B2:B30, а ваши результирующие данные начинаются с D2, используйте следующую формулу массива D2):

=CHOOSE(MOD((ROW()-ROW(D$2)),3)+1,IF(MIN(IF(DAY($B$2:$B$30)=INT((ROW()-ROW(D$2))/3)+1,$B$2:$B$30))=0,"",MIN(IF(DAY($B$2:$B$30)=INT((ROW()-ROW(D$2))/3)+1,$B$2:$B$30))),IF(MAX(IF(DAY($B$2:$B$30)=INT((ROW()-ROW(D$2))/3)+1,$B$2:$B$30))=0,"",MAX(IF(DAY($B$2:$B$30)=INT((ROW()-ROW(D$2))/3)+1,$B$2:$B$30))),"")

Чтобы ввести формулу в виде формулы массива, необходимо скопировать формулу в строку формул и удерживать LEFT CTRL SHIFT и нажать ENTER .

Полученная формула будет содержать фигурные скобки {}, т.е. будет выглядеть следующим образом:

{=CHOOSE(MOD((ROW()-ROW(D$2)),3)+1,IF(MIN(IF(DAY($B$2:$B$30)=INT((ROW()-ROW(D$2))/3)+1,$B$2:$B$30))=0,"",MIN(IF(DAY($B$2:$B$30)=INT((ROW()-ROW(D$2))/3)+1,$B$2:$B$30))),IF(MAX(IF(DAY($B$2:$B$30)=INT((ROW()-ROW(D$2))/3)+1,$B$2:$B$30))=0,"",MAX(IF(DAY($B$2:$B$30)=INT((ROW()-ROW(D$2))/3)+1,$B$2:$B$30))),"")}

History

Формула представляет собой комбинациюнескольких формул.

Формулы массивов

=MIN(IF(DAY($B$2:$B$30)=INT((ROW()-ROW(D$2))/3)+1,$B$2:$B$30))
=MAX(IF(DAY($B$2:$B$30)=INT((ROW()-ROW(D$2))/3)+1,$B$2:$B$30))

Нормальные формулы

=INT((ROW()-ROW(D$2))/3)+1
=MOD((ROW()-ROW(D$2)),3)+1

И, наконец,ВЫБЕРИТЕ формулу

=CHOOSE(MOD((ROW()-ROW(D$2)),3)+1,1,2,3)

, где вместо 1, 2 и 3 вместо нее ставятся различные условия:

MIN , MAX и "" .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...