Papildu filtrs - Excel padomi

Satura rādītājs

Izvērstā filtra izmantošana programmā Excel, lai atrisinātu Morta problēmu. Lai gan parastie filtri ir kļuvuši jaudīgāki, joprojām ir gadījumi, kad uzlabotais filtrs var veikt dažus trikus, kurus citi nevar.

Skatīties video

  • Papildu filtrs ir vairāk "uzlabots" nekā parastais filtrs, jo:
  • 1) To var kopēt uz jaunu diapazonu
  • 2) Jūs varat izveidot sarežģītākus kritērijus, piemēram, 1. lauks = A vai 2. lauks = A
  • 3) tas ir ātri
  • Mort mēģina apstrādāt 100 000 rindas VBA, veicot ierakstus vai izmantojot masīvu
  • Iebūvēto Excel funkciju izmantošana vienmēr būs ātrāka nekā sava koda rakstīšana.
  • Jums ir nepieciešams ievades diapazons un pēc tam kritēriju diapazons un / vai izvades diapazons
  • Ievades diapazonam: viena virsrakstu rinda virs datiem
  • Pievienojiet pagaidu rindu virsrakstiem
  • Izejas diapazonam: kolonnu virsrakstu rinda, kuras vēlaties izvilkt
  • Kritēriju diapazonam: virsraksti 1. rindā, vērtības sākas 2. rindā
  • Komplikācija: vecākas Excel versijas neļautu izejas diapazonam būt citā lapā
  • Ja rakstāt makro, kas varētu darboties 2003. gadā, izmantojiet nosaukto diapazonu ievades diapazonam, lai apietu

Video atšifrējums

Uzziniet programmu Excel no Podcast, 2060. sērija: Excel papildu filtrs

Sveiki, laipni lūgti atgriezties netcast ēterā, es esmu Bils Jelens. Šodienas jautājumu iesūtīja Mort. Mortam viņam ir 100 000 datu rindu, un viņu interesē A, B un D kolonna, kur C sleja atbilst noteiktam gadam. Tāpēc viņš vēlas, lai persona ievadītu gadu un pēc tam iegūtu A, B un D. kolonnu. Un Mortam ir kāda VBA, kur viņš to izmanto, izmantojot masīvus, un es teicu: “Pagaidiet sekundi, ziniet, uzlabotais filtrs to izdarītu a daudz labāk. ” Labi, un tagad, lai tikai pārskatītu, es atgriezos, es atskatījos caur saviem videoklipiem. Es ilgu laiku neesmu aptvēris uzlaboto filtru, tāpēc mums vajadzētu par to runāt.

Papildu filtram nepieciešams ievades diapazons un pēc tam vismaz viens no šiem: kritēriju diapazons vai izvades diapazons. Lai gan šodien mēs izmantosim abus. Labi, tāpēc ievades diapazons ir jūsu dati, un virs datiem jābūt virsrakstiem. Tātad Mortam nav virsrakstu, tāpēc es uz laiku ievietošu rindu šeit un vienkārši darīšu tāpat kā 1. lauks. Morts zina, kādi ir viņa dati, un tāpēc viņš varētu tur ievietot reālas virsrakstus. Un mēs neizmantojam neko, kas tiek saukts par šiem datiem slejās E līdz O, tāpēc man tur nav jāpievieno virsraksti, labi? Tātad tagad no A1 līdz D 100000 kļūst par manu ievades diapazonu. Un tad izvades diapazons un kritēriju diapazons - labi, izvades diapazons ir tikai vēlamo virsrakstu saraksts. Tāpēc es šeit ievietošu izejas diapazonu, un mums nav vajadzīgs 3. lauks, tāpēc esVienkārši noņemšu to uz sāniem. Tātad tagad šis diapazons šeit, no A1 līdz C1, kļūst par manu izvades diapazonu, kas programmai Excel norāda, kurus laukus es vēlos no ievades diapazona. Un tie varētu būt citā secībā, ja vēlaties pārkārtot lietas, piemēram, ja vispirms gribu 4. lauku un pēc tam 1. lauku, tad 2. lauku. Un atkal tās būtu reālas virsraksti, piemēram, rēķina numurs. Es vienkārši nezinu, kā izskatās Morta dati.

Pēc tam kritēriju diapazons ir virsraksts un kāda vērtība jūs vēlaties. Pieņemsim, ka es mēģināju kaut ko iegūt 2014. gadā. Tas kļūst par kritēriju diapazonu. Labi, šeit ir tikai piesardzības vārds. Esmu programmā Excel 2016, un programmā Excel 2016 ir iespējams veikt uzlabotu filtru starp divām loksnēm, taču, ja jūs atgriezīsities atpakaļ un es neatceros, kāds ir atpakaļ ceļš, varbūt 2003. gads, es neesmu pārliecināts. Kādā pagātnes posmā mēdza būt, ka nevarēja veikt uzlabotu filtru no vienas lapas uz otru, tāpēc jums vajadzēja ierasties šeit un nosaukt savu ievades diapazonu. Šeit jums vajadzētu izveidot vārdu. Mans vārds vai kaut kas tamlīdzīgs, labi? Un tas būtu veids, kā jūs varētu to izvilkt, labi. Ne vienmēr programmā Excel 2016, bet es atkalEs neesmu pārliecināts, vai Mort to darbinās vecākās datu versijās.

Labi, tāpēc šeit, šeit, Data, mēs ejam uz Papildu filtru, labi. Mēs ejam uz Kopēt uz citu vietu, kas ļauj mūsu izvades diapazonu tur. Labi, tāpēc sarakstu diapazons, kur ir dati? Tā kā es esmu programmā Excel 2016, es dodos uz punktu Dati, tā vietā, lai izmantotu vārdu diapazonu - Tātad tas ir mans ievades diapazons. Kritēriju diapazons ir tās šūnas tieši tur un tad, kur mēs ejam - izvadīsim, tur būs tikai šīs trīs šūnas. Un tad mēs noklikšķinām uz Labi. Labi, un BAM! Tas ir tik ātri, ātri. Un ja nu mēs gribētu citu gadu? Ja mēs vēlētos citu gadu, mēs izdzēsīsim rezultātus, ievietosim 2015. gadu un pēc tam vēlreiz veiksim papildu filtru, nokopējiet uz citu vietu, noklikšķiniet uz Labi un tur būs visi 2015. gada ieraksti. Zibens ātri.

Labi tagad, kamēr es esmu uzlabota filtra cienītājs parastajā programmā Excel, es biju liels uzlabotā filtra ventilators VBA, labi, jo VBA padara iepriekšēju filtru patiešām, patiešām, ļoti vienkāršu. Labi, tāpēc mēs šeit ierakstīsim kodu Mortam, pieņemot, ka Morta datiem nav virsrakstu un mums uz laiku būs jāpievieno virsraksti, labi? Tātad, es pārslēgšos uz VBA, Alt + F11, un mēs to palaidīsim no darblapas, kurā ir dati. Tātad: Dim WS kā darblapu, iestatiet WS = ActiveSheet. Pēc tam ievietojiet 1. rindu un vienkārši pievienojiet dažus virsrakstus: A, B, Gads un D. Noskaidrojiet, cik daudz datu rindu mums ir šodien, un tad, sākot no šūnas A1, kas iziet 4 kolonnas uz leju līdz pēdējai rindai, nosauciet to būt ievades diapazonam. Labi, un tad tas faktiski ir Morta kods šeit, kur viņš lūdza InputBox,saņem gadu, kuru viņi vēlas, un tad viņš jautā, kuru gadu vai kā viņi vēlas nosaukt jauno lapu, labi. Tātad tas faktiski ievietos lapu Fly un pēc tam Es - Dimension jaunu lapu, WSN, kā ActiveSheet. Tāpēc es zinu, ka WS ir sākotnējā lapa, WSN ir tikko pievienotā jaunā lapa. Jaunajā lapā ievietojiet kritēriju diapazonu, lai zem E slejas būtu virsraksts, kas šeit atbilst šai virsrakstam, un pēc tam, kuru atbildi viņi mums sniegs, iet E2. Izejas diapazons būs pārējie trīs virsraksti: A, B un D. Un atkal, ja jūs vai Mort mainīsit tos uz reāliem virsrakstiem, kas, iespējams, ir labāka rīcība nekā A, B, D, un jūs arī mainīt tos uz reāliem virsrakstiem, labi? Tātad tas viss šeit ir tikai neliels iepriekšējs darbs. Šī viena lieliskā koda rindiņa veiks visu uzlaboto filtru. Tātad,no InputRange mēs veicam AdvancedFilter, mēs kopēsim. Tas ir mūsu izvēles filtrs vai kopija. CriteriaRange ir no E1 līdz E2, CopyToRange ir no A līdz C. Unikālās vērtības -Nē, mēs vēlamies visas vērtības. Labi, ka šī viena koda rindiņa veic visu burvju cilpošanu caur visiem ierakstiem vai aizstāj cilpošanu caur visiem ierakstiem vai masīvu veikšanu. Un tad mēs esam pabeiguši, mēs notīrīsim kritēriju diapazonu un pēc tam izdzēsīsim 1. rindu atpakaļ sākotnējā darblapā.Un tad mēs esam pabeiguši, mēs notīrīsim kritēriju diapazonu un pēc tam izdzēsīsim 1. rindu atpakaļ sākotnējā darblapā.Un tad mēs esam pabeiguši, mēs notīrīsim kritēriju diapazonu un pēc tam izdzēsīsim 1. rindu atpakaļ sākotnējā darblapā.

Labi, tāpēc atgriezīsimies šeit pie mūsu datiem. Mēs to atvieglosim, tāpēc: Ievietojiet, Formu un izsauciet šo Filtrs, Sākums, Centrs, Centrs, Lielāks, Lielāks, Lielāks, noklikšķiniet ar peles labo pogu, Piešķirt makro un piešķiriet to MacroForMort. Labi, tāpēc šeit mēs ejam. Mēs taisīsim testu. Skatiet, vai esam datu lapā, noklikšķiniet uz Filtrs, kuru gadu mēs vēlamies? Mēs vēlamies 2015. Kā es to gribu nosaukt? Es gribu to nosaukt par 2015. gadu, labi. Un BAM! Tur tas ir izdarīts. Tas ir tik ātri, tas ir tik ātri.

Tā kā Morta sākotnējiem datiem nebija virsrakstu, varbūt šiem datiem nevajadzētu būt virsrakstiem. Tātad ejam Alt + F11, tieši šeit mēs vēlamies notīrīt kritēriju diapazonu. Mēs arī rindas (1). Dzēst. Labi, tāpēc tagad nākamreiz, kad mēs to darījām, tas atbrīvosies no šīm virsrakstiem. Un pieņemsim tikai - tā vietā, lai visu lietu ātri palaistu, apskatīsim šeit 2014. gadu. Tāpēc es izvēlēšos vienu šūnu Data, Alt + F11, un es vēlos palaist tieši līdz vietai, kur mēs darām uzlabots filtrs. Tātad mēs varam apskatīt un redzēt, ko šeit dara viss makro. Tāpēc mēs noklikšķināsim uz Izpildīt, un es vēlos iegūt 2014. gadu. Labi. Tātad, nospiediet F8, mēs gatavojamies veikt uzlaboto filtru. Šeit mēs varam atgriezties programmā Excel un redzēt, kas noticis.

Pirmā lieta, kas notika - Tagad pirmā lieta, kas notika, esam pievienojuši jaunu pagaidu rindu ar virsrakstiem. Ievietoja šo darblapu, izveidoja kritēriju diapazonu ar virsrakstu un to, kuru gadu viņi ievadīja, izvēlējās laukus, kurus mēs vēlamies darīt, un pēc tam atgriezos VBA, es palaidīšu nākamo kodu rindu, tas ir F8, kas turpina uzlaboto filtru . Tas ir neticami ātri, un jūs redzēsiet, ka tas faktiski ir atnesis mums visus ierakstus. No turienes tas ir tikai mazliet sakopšanas, izdzēsiet šo, izdzēsiet šo. Es atgriezīšos pie datiem un izdzēsīšu 1. rindu, un mums būs labi iet. Tātad es vienkārši ļaušu atlikušo daļu palaist, noņemt šo pārtraukuma punktu, labi? Tātad ir VBA. Manuprāt, es domāju, ka tas ir ātrākais, ātrākais ceļš.

Labi, epizožu kopsavilkums: uzlabotais filtrs ir uzlabots nekā parastais filtrs, jo to var kopēt uz jaunu diapazonu. Un tagad es to nerādīju šajā videoklipā, bet jūs varat izveidot sarežģītus kritērijus, kur 1. lauks = A vai 2. lauks = A. Parastais automātiskais filtrs to nevar izdarīt, un tas ir ātri. Mort mēģina apstrādāt 100 000 rindas VBA, izmantojot masīvu vai izveidojot cilpu, taču vienmēr būs ātrāk izmantot Excel veidošanas funkcijas nekā rakstīt savu kodu. Jums jādefinē ievades diapazons, kritēriju diapazons, izvades diapazons. Jums vienmēr ir nepieciešams ievades diapazons vismaz vienā no šiem, lai gan šodien es izmantoju abus. Ievades diapazonam - viena virsrakstu rinda virs datiem. Tātad mēs pievienosim pagaidu virsrakstu rindu. Izejas diapazonam labi tās pašas virsraksti, kurus vēlaties izvilkt. Tātad, jūs zināt, ja tas būtu A, B,Gads un D, ​​mēs vienkārši ievietosim A, B un D kā izejas diapazonu. Kritēriju diapazonam virsraksti 1. rindā. Tātad šis ir lauks, uz kuru es vēlos veidot kritērijus, un šī ir vērtība, kuru meklēju. Sarežģījumi: Vecākas Excel versijas neļaus izejas diapazonam būt citā lapā, tāpēc, iespējams, jūsu kods darbosies toreiz. Ievades diapazonam vēlaties izmantot nosaukto diapazonu, jo no šīs lapas jūs zināt, nosauktais diapazons, pat ja tas atrodas citā lapā, lapa tic nosaukumam pašreizējā lapā. Tātad tas ļautu uzlabotajam filtram darboties.Vecākas Excel versijas neļaus izvades diapazonam būt citā lapā, tāpēc, iespējams, jūsu kods darbosies toreiz. Ievades diapazonam vēlaties izmantot nosaukto diapazonu, jo no šīs lapas jūs zināt, nosauktais diapazons, pat ja tas atrodas citā lapā, lapa uzskata, ka pašreizējās lapas nosaukums ir atzarots. Tātad tas ļautu uzlabotajam filtram darboties.Vecākas Excel versijas neļaus izvades diapazonam būt citā lapā, tāpēc, iespējams, jūsu kods darbosies toreiz. Ievades diapazonam vēlaties izmantot nosaukto diapazonu, jo no šīs lapas jūs zināt, nosauktais diapazons, pat ja tas atrodas citā lapā, lapa tic nosaukumam pašreizējā lapā. Tātad tas ļautu uzlabotajam filtram darboties.

Labi, labi, tur jums tas ir. Es vēlos pateikties Mortam par šī jautājuma nosūtīšanu. Es vēlos pateikties, ka apstājāties. Tiksimies nākamreiz, lai skatītu citu netcast raidījumu no.

Lejupielādēt failu

Lejupielādējiet faila paraugu šeit: Podcast2060.xlsm

Interesanti raksti...