Last ned eksemplet på arbeidsbok
Denne opplæringen vil demonstrere hvordan du kobler sammen celleverdier basert på kriterier ved hjelp av TEXTJOIN -funksjonen i Excel og Google Sheets.
TEXTJOIN -funksjonen
Brukere av Excel 2022+ har tilgang til TEXTJOIN -funksjonen, som slår sammen flere tekststrenger og skiller hver streng med en spesifisert skilletegn.
Merk: Google Sheets -brukere kan bruke TEXTJOIN -funksjonen, men har en litt annen måte å legge inn matriseformler på. Se den senere delen om dette emnet.
Dette eksemplet vil bruke TEXTJOIN og IF Functions i en matriseformel for å lage en kommaadskilt tekststreng med Spillernavn som vedrører a Team verdien av rød
1 | = TEXTJOIN (",", TRUE, IF (C3: C8 = "Red", B3: B8, "")) |
Brukere av Excel 2022 må skrive inn denne formelen som en matrisefunksjon ved å trykke CTRL + SKIFT + ENTER. Brukere av senere versjoner av Excel trenger ikke å følge dette trinnet.
For å forklare hva denne formelen gjør, kan vi dele den ned i trinn:
Dette er vår siste formel:
1 | = TEXTJOIN (",", TRUE, IF (C3: C8 = "Red", B3: B8, "")) |
Først legges celleområdets verdier til formelen:
1 | = TEXTJOIN (",", TRUE, IF ({"Red"; "Blue"; "Blue"; "Red"; "Blue"; "Red"} = "Red", {"A"; "B"; "C"; "D"; "E"; "F"}, "")) |
Deretter listen over Team navn sammenlignes med verdien rød:
1 | = TEXTJOIN (",", TRUE, IF ({TRUE; FALSE; FALSE; TRUE; FALSE; TRUE}, {"A"; "B"; "C"; "D"; "E"; "F"} , "")) |
IF -funksjonen erstatter SANN -verdier med Spillernavnog FALSE verdier med “”
1 | = TEKSTJOIN (",", SANN, {"A"; ""; ""; "D"; ""; "F"}) |
TEKSTJOIN -funksjonen kombinerer deretter alle matrisverdiene i en tekststreng. Vi har instruert funksjonen til å ignorere tomme verdier og legge til teksten "," mellom hver verdi. Dette gir det endelige resultatet:
1 | = "A, D, F" |
TextJoin If - i pre -Excel 2022
Siden TEXTJOIN -funksjonen ikke er tilgjengelig før Excel 2022 -versjonen, må vi løse dette problemet på en annen måte. CONCATENATE -funksjonen er tilgjengelig, men tar ikke celleområder som innganger eller tillater array -operasjoner, og derfor må vi bruke en hjelperkolonne med en IF -funksjon i stedet.
Dette neste eksemplet viser hvordan du bruker en hjelperkolonne til å lage en kommaadskilt tekststreng av Spillernavn som vedrører a Team verdien av Rød:
1 | = HVIS (C3 = "Rød", B3 & ",", "") & D4 |
Det første trinnet i dette eksemplet er å bruke en IF -funksjon for å replikere tilstanden til Team = Rød. Hvis betingelsen er oppfylt, vil Spillernavn verdi skrives og etterfølges av den valgte skilletegn ",":
1 | = HVIS (C3 = "Rød", B3 og ",", "") |
Deretter kan vi lage en kolonne som bygger opp en liste over disse verdiene til en celle ved å også referere til cellen under den:
1 | = D3 og E4 |
Denne formelen bruker & -tegnet for å koble to verdier sammen. Vær oppmerksom på at CONCATENATE -funksjonen kan brukes til å lage nøyaktig det samme resultatet, men metoden & er ofte foretrukket siden den er kortere og gjør det tydeligere hvilken handling formelen utfører.
Disse to hjelperkolonnene kan deretter kombineres til en formel:
1 | = HVIS (C3 = "Rød", B3 & ",", "") & D4 |
En oppsummeringscelle kan deretter referere til den første verdien i Spilleriste hjelperkolonne:
1 | = D3 |
Hvis den endelige verdien "," ikke er nødvendig, bør en ekstra nestet IF -funksjon legges til formelen:
1 | = HVIS (C3 = "Rød", HVIS (D4 = "", B3, B3 & ","), "") & D4 |
Den ekstra delen av formelen er IF -funksjonen nedenfor:
1 | IF (D4 = "", B3, B3 & ",") |
Denne delen av formelen sjekker verdien av cellen under den. Hvis den er tom, må denne cellen være den siste Spillernavn i listen, og navnet er skrevet uten avgrensning. Hvis cellen nedenfor inneholder en verdi, er denne cellen ikke den siste Spillernavn i listen, og "," skilletegn legges til.
TextJoin If in Google Sheets
Disse formlene fungerer på samme måte i Google Regneark som i Excel, bortsett fra at ARRAYFORMULA -funksjonen må brukes i Google Regneark for at den skal kunne evaluere resultatene riktig. Dette kan legges til automatisk ved å trykke på tastene CTRL + SKIFT + ENTER mens du redigerer formelen:
1 | = ARRAYFORMULA (TEXTJOIN (",", TRUE, (IF (C3: C8 = "Red", B3: B8, "")))) |