TEXTJOIN IF- Excel & Google Sheets

Ladda ner exempel på arbetsbok

Ladda ner exempelarbetsboken

Denna handledning visar hur man sammanfogar cellvärden baserat på kriterier med hjälp av TEXTJOIN -funktionen i Excel och Google Sheets.

TEXTJOIN -funktionen

Användare av Excel 2022+ har tillgång till TEXTJOIN -funktionen, som slår samman flera textsträngar och separerar varje sträng med en specificerad avgränsare.

Notera: Google Sheets -användare kan använda TEXTJOIN -funktionen, men har ett något annorlunda sätt att ange matrisformler. Se det senare avsnittet om detta ämne.

Detta exempel kommer att använda TEXTJOIN och IF -funktioner i en matrisformel för att skapa en kommaseparerad textsträng med Spelarnamn som avser a Team värdet av Röd

1 = TEXTJOIN (",", TRUE, IF (C3: C8 = "Red", B3: B8, ""))

Användare av Excel 2022 måste ange denna formel som en matrisfunktion genom att trycka på CTRL + SKIFT + ENTER. Användare av senare versioner av Excel behöver inte följa detta steg.

För att förklara vad denna formel gör kan vi dela upp den i steg:

Detta är vår sista formel:

1 = TEXTJOIN (",", TRUE, IF (C3: C8 = "Red", B3: B8, ""))

Först läggs cellintervallets värden till formeln:

1 = TEXTJOIN (",", TRUE, IF ({"Red"; "Blue"; "Blue"; "Red"; "Blue"; "Red"} = "Red", {"A"; "B"; "C"; "D"; "E"; "F"}, ""))

Därefter listan över Team namn jämförs med värdet Röd:

1 = TEXTJOIN (",", TRUE, IF ({TRUE; FALSE; FALSE; TRUE; FALSE; TRUE}, {"A"; "B"; "C"; "D"; "E"; "F"} , ""))

IF -funktionen ersätter TRUE -värden med Spelarnamnoch FALSE -värden med ””

1 = TEXTJOIN (",", TRUE, {"A"; ""; ""; "D"; ""; "F"})

TEXTJOIN -funktionen kombinerar sedan alla arrayvärden i en textsträng. Vi har instruerat funktionen att ignorera tomma värden och lägga till texten "," mellan varje värde. Detta ger det slutliga resultatet:

1 = "A, D, F"

TextJoin If - i före Excel 2022

Eftersom TEXTJOIN -funktionen inte är tillgänglig före Excel 2022 -versionen måste vi lösa detta problem på ett annat sätt. CONCATENATE -funktionen är tillgänglig men tar inte cellområden som ingångar eller tillåter matrisoperationer och därför måste vi istället använda en hjälpkolumn med en IF -funktion.

Detta nästa exempel visar hur du använder en hjälparkolumn för att skapa en kommaseparerad textsträng av Spelarnamn som avser a Team värdet av Röd:

1 = IF (C3 = "Röd", B3 & ",", "") & D4

Det första steget i detta exempel är att använda en IF -funktion för att replikera villkoret för Team = Röd. Om villkoret är uppfyllt, Spelarnamn värde skrivs och följs av den valda avgränsaren ",":

1 = OM (C3 = "Röd", B3 & ",", "")

Därefter kan vi skapa en kolumn som bygger upp en lista över dessa värden i en cell genom att också referera till cellen nedanför den:

1 = D3 & E4

Denna formel använder & -tecknet för att sammanfoga två värden. Observera att CONCATENATE -funktionen kan användas för att skapa exakt samma resultat, men metoden & är ofta att föredra eftersom den är kortare och gör det tydligare vilken åtgärd formeln utför.

Dessa två hjälparkolumner kan sedan kombineras till en formel:

1 = IF (C3 = "Röd", B3 & ",", "") & D4

En sammanfattande cell kan sedan referera till det första värdet i Spelarlista hjälparpelare:

1 = D3

Om det slutliga värdet "," inte krävs, bör en ytterligare kapslad IF -funktion läggas till i formeln:

1 = IF (C3 = "Röd", IF (D4 = "", B3, B3 & ","), "") & D4

Den ytterligare delen av formeln är IF -funktionen nedan:

1 OM (D4 = "", B3, B3 & ",")

Denna del av formeln kontrollerar värdet på cellen under den. Om den är tom måste denna cell vara den sista Spelarnamn i listan och namnet skrivs utan avgränsare. Om cellen nedan innehåller ett värde är denna cell inte den sista Spelarnamn i listan och så läggs "," avgränsaren till.

TextJoin Om i Google Kalkylark

Dessa formler fungerar på samma sätt i Google Kalkylark som i Excel, förutom att funktionen ARRAYFORMULA måste användas i Google Kalkylark för att den ska kunna utvärdera resultaten korrekt. Detta kan läggas till automatiskt genom att trycka på tangenterna CTRL + SKIFT + ENTER medan du redigerar formeln:

1 = ARRAYFORMULA (TEXTJOIN (",", TRUE, (IF (C3: C8 = "Red", B3: B8, ""))))

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave