Znajdź ostatni dzień w miesiącu w programie Excel i usuń wszystkie pozostałe wiersze

1

Widziałem to powiązane pytanie: Wybierz każdy n-ty wiersz w Excelu i było to bardzo pomocne, z wyjątkiem tego, że muszę wiedzieć, który jest ostatni dzień roboczy każdego miesiąca.

Skoroszyt programu Excel z ważnymi danymi w kółku Jak mam to zrobic?

wizlog
źródło
Co masz do tej pory Z obrazka, zakładając, że jest to Excel 2013/2016?
CharlieRB,
Odpowiedź na to pytanie może być łatwa lub nieco bardziej skomplikowana, w zależności od tego, co rozumiesz przez „ostatni dzień roboczy miesiąca”. Czy masz na myśli po prostu poniedziałek - piątek = dzień roboczy, czy też musisz wziąć pod uwagę święta? Jeśli więc wakacje, jakie? Jeśli tylko od poniedziałku do piątku, możesz to zrobić za pomocą funkcji = WEEKDAY ()
Eric F
@CharlieRB Mam cenę otwarcia i zamknięcia akcji (ukryłem kilka wierszy), chcę tylko dane dotyczące otwarcia i zamknięcia dla jednego dnia w miesiącu (najlepiej ostatniego, gdy rynek jest otwarty).
wizlog
@EricF Holidays również. Dane, które posiadam, pochodzą z Google Finance, więc tylko dni, w których giełda (w Stanach Zjednoczonych) jest otwarta, miałyby rząd.
wizlog
Rozumiem. Chcę wiedzieć, co zrobiłeś, aby rozwiązać ten problem samodzielnie. To nie jest usługa pisania scenariuszy, więc chcemy wiedzieć, jakie badania przeprowadziłeś i gdzie utknąłeś.
CharlieRB,

Odpowiedzi:

2

Oto formuła i dowód koncepcji

Umieść to w pustej kolumnie w wierszu 2:

=A2=MAX(IF((YEAR(A2)=YEAR($A$2:$A$70))*(MONTH(A2)=MONTH($A$2:$A$70)),$A$2:$A$70))

Jest to formuła tablicowa, więc należy wyjść z trybu edycji za pomocą Ctrl-Shift-Enter zamiast Enter. Jeśli zostanie to wykonane poprawnie, program Excel obejmie {}formułę.

LUB ta formuła tablicowa inna niż CSE:

=A2=AGGREGATE(14,6,$A$2:$A$70/((YEAR(A2)=YEAR($A$2:$A$70))*(MONTH(A2)=MONTH($A$2:$A$70))),1)

Wpisz to normalnie.

Następnie skopiuj.

Znajduje maksymalną datę miesiąca na liście i zwraca true, jeśli data w kolumnie A jest równa.

Następnie odfiltruj wszystkie FAŁSZ i Usuń.

wprowadź opis zdjęcia tutaj

Scott Craner
źródło
Z jakiej wersji programu Excel korzystasz?
wizlog
2013, ale zadziała to w każdym wieku.
Scott Craner,
Próbowałem już w programie Excel 2013 i 2016. Naprawdę przepraszam, ale to w ogóle nie działa. Zwraca wartość false dla każdej komórki.
wizlog
Czy widzisz {}wzór? Jeśli tak, sprawdź dane w kolumnie A, aby upewnić się, że są to prawdziwe daty, a nie tekst wyglądający jak daty. Excel przechowuje prawdziwe daty jako liczby, a nie tekst.
Scott Craner,
@wizlog zobacz edycję Dodałem drugą formułę, która nie wymaga Ctrl-Shift-Enter. Spróbuj tego. Jeśli to nie zadziała, spójrz na dane, ponieważ jest z tym problem.
Scott Craner,