Innholdsfortegnelse
Excel er det mest nyttige verktøyet når det gjelder å håndtere enorme datasett. Normalt er vi vant til å lage en rullegardinliste , men vi må ofte lage en dynamisk rullegardinliste i Excel for å gjøre livet vårt enklere. Vi kan enkelt gjøre det ved å bruke OFFSET-funksjonen . I denne artikkelen vil jeg vise deg hvordan du lager en dynamisk rullegardinliste i Excel med OFFSET Funksjon .
Last ned Practice Workbook
Drop Down List with OFFSET.xlsx
Dette er datasettet som jeg skal bruke for å illustrere hvordan du lager en dynamisk rullegardinliste i Excel med OFFSET-funksjonen . Vi har noen sports Event(er) og Liste over vinnere . Vi vil sortere vinnerne til de respektive arrangementene ved å lage en dynamisk rullegardinliste .
3 metoder for å lage dynamisk rullegardinliste ved å bruke Excel OFFSET
1. Lag dynamisk rullegardinliste i Excel med OFFSET- og COUNTA-funksjoner
Her vil jeg illustrere hvordan du lager en dynamisk rullegardinliste i Excel ved å bruke OFFSET og COUNTA funksjonene. Jeg må lage en dynamisk rullegardinliste i området C4:C11 . Jeg velger vinneren fra vinnerlisten .
TRINN:
➤ Velg området C4:C112. Gå deretter til Data -fanen >> Dataverktøy >> Datavalidering >> DataValidering .
➤ Datavalidering dialogboksen vil dukke opp. Velg Liste fra rullegardinmenyen i den dialogboksen .
➤ I Kilde -boksen, skriv ned følgende formel.
=OFFSET($E$4,0,0,COUNTA($E$4:$E$100),1)
Formeloversikt
➥ COUNTA($E$4:$E$100) ➜ Returnerer antall celler som er ikke tomme i området E4:E100
Utgang ➜ {4}
➥ OFFSET($E$4,0,0,COUNTA($E$4:$ E$100),1) ➜ Returnerer et område basert på raden og kolonnen til en gitt referanse.
➥ OFFSET($E$4,0,0,4,1)
Utgang ➜ {“Alex”;”Morgan”;”Faulkner”;”Eliot”}
Forklaring: The referanse er E4 . Siden rad er 0 og kolonnen er 0 til slutt med en høyde på 4 celler, vil vi ha verdiene fra celle E4:E7 .
➤ Velg OK .
Excel vil lage en rullegardin boks i hver celle i området C4:C11 .
Legg merke til at alternativene i rullegardinboksen er nøyaktig de samme som i Liste over vinnere . Nå, for å sjekke om dette er en dynamisk rullegardinboks eller ikke, la oss anta at Vinneren av Event Shooting er James . Siden James ikke er på vinnerlisten , la oss legge til navnet hans og se hva som skjer.
Så snart vi lagt til navnet på James i vinnerlisten , Excel oppdaterte automatisk alternativene i rullegardinmenyen . Så disse rullegardinlistene er av dynamiske natur.
➤ Velg nå den gjenværende vinneren .
MERK : Husk at området vi har valgt i COUNTA-funksjonen er E4:E100 . Det er derfor Excel oppdaterer rullegardinmenyen så lenge vi legger til eller oppdaterer cellene i området E4:E100 .
Les mer: Hvordan lage en dynamisk datavalideringsliste ved å bruke VBA i Excel
2. Måte å lage en dynamisk rullegardinliste i Excel med OFFSET- og COUNTIF-funksjonene
Vi kan også lage en dynamisk rullegardinliste i Excel ved å bruke OFFSET og COUNTIF funksjoner.
TRINN:
➤ Ta med dialogboksen Datavalidering som metode-1 . I boksen Kilde skriver du ned følgende formel
=OFFSET($E$4,0,0,COUNTIF($E$4:$E$100,""))
Formeloversikt
➥ COUNTIF($E$4:$E$100,"") ➜ Returnerer antall celler som er ikke tomme i området E4:E100
Utgang ➜ {4}
➥ OFFSET($E$4,0,0,COUNTIF ($E$4:$E$100,””)) ➜ Returnerer et område basert på raden og kolonnen til en gitt referanse.
➥ OFFSET($E$4,0,0 ,4,1)
Utgang ➜ {“Alex”;”Morgan”;”Faulkner”;”Eliot”}
Forklaring: Referansen er E4 . Siden rad er 0 og kolonnen er 0 til slutt med en høyde på 4 celler, vil vi ha verdiene fra celle E4:E7
➤ Velg OK .
➤ Excel vil lage en rullegardin boks i hver celle i området C4:C11 .
For å sjekke om dette er en dynamisk rullegardinboks eller ikke, la oss anta at vinneren av Event Shooting er James . Siden James ikke er på vinnerlisten , la oss legge til navnet hans og se hva som skjer.
Så snart vi la til navnet James i vinnerlisten , Excel oppdaterte automatisk alternativene i rullegardinmenyen . Så disse rullegardinlistene er av dynamiske natur.
➤ Velg nå den gjenværende vinneren .
MERK : Husk at området vi har valgt i TELLHVIS-funksjonen er E4:E100 . Det er derfor Excel oppdaterer rullegardinmenyen så lenge vi legger til eller oppdaterer cellene i området E4:E100 .
3. Hvordan lage en nestet rullegardinliste ved hjelp av en kombinasjon av funksjoner
I denne delen skal vi dykke ned i å lage en smartere og mer avansert dynamisk rullegardinliste , en nested en. Vi vil bruke funksjonene OFFSET , COUNTA og MATCH sammen. La meg forklare hvavi er oppe for.
Dette er datasettet for denne metoden som representerer informasjon om bestemte produkter.. I utgangspunktet skal vi lage to rullegardinlister i cellene F3 og F4 . Avhengig av alternativet valgt i F3 , vil Excel oppdatere alternativene i F4 . La oss gjøre det trinn for trinn.
TRINN-1: Opprette en rullegardinliste i F3
➤ Ta med Datavalidering -dialogboks som metode-1 . I Kilde -boksen gjør du en cellereferanse , som er tabelloverskriftene ( celle B3:D3 ).
Excel vil lage en rullegardinliste i F3 .
TRINN-2: Opprette en dynamisk rullegardinliste i F4
Nå skal jeg lage en annen rullegardinliste i F4 . Alternativene i rullegardinlisten til F4 vil avhenge av hva vi har valgt i rullegardinlisten til F3 . For å gjøre det,
➤ Ta med Datavalidering -dialogboksen som metode-1 . I boksen Kilde skriver du ned følgende formel
=OFFSET($B$3,1,MATCH($F$3,$B$3:$D$3,0)-1,COUNTA(OFFSET($B$3,1,MATCH($F$3,$B$3:$D$3,0)-1,10,1)),1)
Formeloversikt
➥ MATCH($F$3,$B$3:$D$3,0) ➜ Returnerer den relative plasseringen til celleverdien F3 fra området B3:D3
Utgang: {1} .
➥ OFFSET($B$3,1) ,MATCH($F$3,$B$3:$D$3,0)-1,10,1) ➜ Returnerer et område basert på raden og kolonne av en gittreferanse . høyden er 10 . Det er derfor utdata vil være en matrise med 10 celleverdier fra referansen.
Utgang: {“Sam”; ”Curran”;”Yank”;”Rochester”;0;0;0;0;0;0}
➥ COUNTA(OFFSET($B$3,1,MATCH($ F$3,$B$3:$D$3,0)-1,10,1)) ➜ Returnerer antall celler som ikke er tomme i det valgte området .
➥ COUNTA{“Sam”;”Curran”;”Yank”;”Rochester”;0;0;0;0;0;0}
Utgang: {4}
➥ OFFSET($B$3,1,MATCH($F$3,$B$3:$D$3,0)-1,COUNTA( OFFSET($B$3,1,MATCH ($F$3,$B $3:$D$3,0)-1,10,1)),1) ➔ Returnerer et område basert på rad og kolonne til en gitt referanse
➥ OFFSET($B$3,1,1-1,COUNTA{“Sam”;”Curran ”;”Yank”;”Rochester”;0;0;0;0;0;0}),1)
➥ OFFSET($B$3,1,0,4 ,1)
Utgang: {“Sam”;”Curran”;”Yank”;”Rochester”}
Forklaring: Referansen er B3 . Siden rad er 1 og kolonnen er 0 til slutt med en høyde på 4 celler, vil vi ha verdiene fra celle B4:B7 .
➤ Velg OK .
Excel vil lage en dynamisk rullegardinliste i F4 . Alternativene vil endres avhengig av hva du velger på F3 . For eksempel, når du velger Navn i F3-rullegardinlisten , vil rullegardinlisten i F4 vis navnene som er tilgjengelige i Navnkolonne .
Tilsvarende, når du velger Produkt i F3-rullegardinlisten , rullegardinlisten i F4 viser produktene som er tilgjengelige i Produktkolonnen .
Nå hvis du legger til eller oppdaterer Navn , Produkt eller Merke , vil Excel oppdatere rullegardinlisten i F4 . For eksempel har jeg lagt til et nytt navn Rock i Navn-kolonnen og Excel har lagt til navnet i rullegardinlisten .
Les mer: Hvordan lage en dynamisk topp 10-liste i Excel (8 metoder)
Praksisarbeidsbok
Som du kan se, er det veldig vanskelig å lage en dynamisk rullegardinliste i Excel med OFFSET-funksjonen . Så jeg foreslår at du trener mer og mer. Jeg har lagt ved et øvelsesark for deg.
Konklusjon
I denne artikkelen har jeg illustrert 3 metoder for å lage en dynamisk rullegardinliste i Excel med OFFSET-funksjonen . Jeg håper du vil finne denne artikkelen nyttig. Til slutt, hvis du har noen kommentarer, vennligst legg dem igjen i kommentarfeltet.