Excel - Pronađite maksimalnu vrijednost svakih 10 redaka i označite redak

Problem

Trebam pomoć u stvaranju formule u excel-u da identificiram najviše i najniže vrijednosti Svakih 10 redaka. Identificirajte ta dva reda tako što ćete u prazan stupac u redovima s najvišim i najnižim vrijednostima umetnuti neki tekst ili broj. Na primjer Želim vratiti riječ zadržati u stupcu A3 za SAMO najvišu i najnižu trgovinsku cijenu za svaki 10 redova incementa. Na taj način mogu razvrstati podatke prema Zadrži i obrisati ostalih 8 redaka podataka. Na taj način mogu zadržati većinu integriteta podataka i uvelike smanjiti veličinu datoteke.

Koristim Excel 2007 i imam 160.000 redaka podataka. Svrha formule je smanjiti ove podatke na 80%

Tablica u nastavku daje jednostavan primjer.

 Cijena trgovinskog vremena C je prazan stupac za stavku formule ___________A____________B_____________C Redak 1: 19:30:25 121, 81 Red 2 19:30:26 121, 80 Zadržavanje redova 3 19:30:29 121, 83 Red 4 19:30:31 121, 86 Držite redak 5 19 : 39: 35 121.84 

Svaka pomoć će biti mnogo poštovati.

Riješenje

Postoje 3 makronaredbe "test", "test1" i "undo". Test1 je ugrađen u "test", pa je dovoljno ako pokrenete samo makro "test".

Sva tri makronaredbe trebaju biti u modulu. Makro "poništi" poništava rezultate makronaredbe.

Uzmi mali ekstrakt podataka o 31 redaka i provjerite makronaredbu. Ako su rezultati u redu, možete koristiti makronaredbe na izvornoj datoteci

ČUVAJTE ORIGINALNU DOKUMENTACIJU SIGURAN TAKVIM DA TO MOŽE DOBITI.

Makro 1:

 Dim As As Range, r1 As Range, x As Double, y As Double Dim J As Integer, k As Integer Dim r2 As Range, m As Integer Sub test () Radni listovi ("sheet1") Aktiviraj Range ("c1") = "signal" Postavi r2 = Raspon (Raspon ("B1"), Raspon ("B1"). Kraj (xlDown)) j = 1 m = 1 Postavite r = Ćelije (j * m + 1, "B") MsgBox r.Address Postavi r1 = Raspon (r, r.Offset (9, 0)) MsgBox r1.Address Ako r.Offset (9, 0) = "" Zatim Exit Do x = WorksheetFunction.Min (r1) y = Radna lista .Max (r1) MsgBox x MsgBox yk = Radni list funkcija.Pogledaj (x, r2, 0) Ćelije (k, "c") = "zadrži" k = Radna listaMatch (y, r2, 0) Ćelije (k, "c") ") =" zadrži "m = m + 10 MsgBox m Provjera petlje1 Kraj potprograma 

Makro 2:

 Sub test1 () Radni listovi ("sheet1") Aktivirajte Set r = Range (Raspon ("A1"), Range ("A1"). Kraj (xlDown) .Offset (0, 3)) r.AutoFilter polje: = 3, Criteria1: = "zadrži" r.Cells.SpecialCells (xlCellTypeVisible) .Kopiranje radnih listova ("sheet2"). Raspon ("A2") ActiveSheet.AutoFilterMode = Subtitle 

Makro 3:

 Sub undo () Radni listovi ("sheet1"). Raspon ("c1"). EntireColumn.Delete Worksheets ("sheet2"). Cells.Clear End Sub 

Bilješka

Zahvaljujući venkat1926 za ovaj savjet na forumu.

Prethodni Članak Sljedeći Članak

Top Savjeta