Power Query: If-sats - kapslade ifs & flera villkor
I Excel Power Query, IF-satsen är en av de mest populära funktionerna för att kontrollera ett villkor och returnera ett specifikt värde beroende på om resultatet är TRUE eller FALSE. Det finns vissa skillnader mellan denna if-sats och IF-funktionen i Excel. I den här handledningen kommer jag att introducera syntaxen för denna if-sats och några enkla och komplexa exempel för dig.
Grundläggande if-satssyntax för Power Query
Power Query if-sats med en villkorlig kolumn
Power Query if-sats genom att skriva M-koden
Grundläggande if-satssyntax för Power Query
In Power Query, syntaxen är:
- Logiktest: Tillståndet du vill testa.
- värde_om_sant: Värdet som ska returneras om resultatet är TRUE.
- värde_om_falskt: Värdet som ska returneras om resultatet är FALSE.
I Excel Power Query, det finns två sätt att skapa den här typen av villkorlig logik:
- Använda funktionen Conditional Column för vissa grundläggande scenarier;
- Skriver M-kod för mer avancerade scenarier.
I det följande avsnittet kommer jag att prata om några exempel för att använda denna if-sats.
Power Query if-sats med en villkorlig kolumn
Exempel 1: Grundläggande if-sats
Här kommer jag att presentera hur man använder detta if-uttalande i Power Query. Till exempel har jag en följande produktrapport, om produktstatusen är gammal, som visar 50 % rabatt; om produktstatusen är ny, visar 20 % rabatt enligt nedanstående skärmdumpar.
1. Välj datatabellen från kalkylbladet och klicka sedan i Excel 2019 och Excel 365 Data > Från tabell/sortiment, se skärmdump:
Anmärkningar: Klicka på i Excel 2016 och Excel 2021 Data > Från tabell, se skärmdump:
2. Sedan, i det öppnade Power Query redaktör fönstret klickar Lägg till kolumn > Villkorlig kolumn, se skärmdump:
3. I poppade ut Lägg till villkorlig kolumn dialogrutan, gör följande:
- Nytt kolumnnamn: Ange ett namn för den nya kolumnen;
- Ange sedan de kriterier du behöver. Till exempel kommer jag att specificera Om status är lika med gammal så 50% annars 20%;
- Kolumnnamn: Kolumnen för att utvärdera ditt om-villkor mot. Här väljer jag Status.
- Operatör: Villkorlig logik att använda. Alternativen kommer att variera beroende på datatypen för det valda kolumnnamnet.
- text: börjar med, börjar inte med, är lika med, innehåller osv.
- Nummer: är lika med, är inte lika, är större än eller lika med osv.
- Datum: är före, är efter, är lika med, är inte lika osv.
- Värde: Det specifika värdet att jämföra din utvärdering mot. Det tillsammans med kolumnen namn och operatör utgör ett villkor.
- Produktion: Värdet som ska returneras om villkoret är uppfyllt.
- annars: Ett annat värde att returnera när villkoret är falskt.
4. Klicka sedan OK knappen för att gå tillbaka till Power Query redaktör fönster. Nu en ny Rabatt kolumn läggs till, se skärmdump:
5. Om du vill formatera siffrorna till procent, klicka bara ABC123 ikon från Rabatt kolumnrubrik och välj Procent som du behöver, se skärmdump:
6. Klicka slutligen Hem > Stäng och ladda > Stäng och ladda för att ladda dessa data till ett nytt kalkylblad.
Exempel 2: Komplex if-sats
Med det här alternativet för villkorlig kolumn kan du också infoga två eller flera villkor i Lägg till villkorlig kolumn dialog. Gör så här:
1. Välj datatabellen och gå till Power Query redaktör genom att klicka Data > Från tabell/sortiment. Klicka på i det nya fönstret Lägg till kolumn > Villkorlig kolumn.
2. I poppade ut Lägg till villkorlig kolumn dialogrutan, gör följande:
- Ange ett namn för den nya kolumnen i Nytt kolumnnamn textruta;
- Ange det första kriteriet i det första kriteriefältet och klicka sedan Lägg till klausul för att lägga till andra kriteriefält efter behov.
3. När du är klar med kriterierna klickar du OK knappen för att gå tillbaka till Power Query redaktör fönster. Nu kommer du att få en ny kolumn med motsvarande resultat du behöver. Se skärmdump:
4. Till sist, klicka Hem > Stäng och ladda > Stäng och ladda för att ladda dessa data till ett nytt kalkylblad.
Power Query if-sats genom att skriva M-koden
Normalt är Conditional Column användbar för vissa grundläggande scenarier. Ibland kan du behöva använda flera villkor med OCH- eller ELLER-logik. I det här fallet måste du skriva M-kod i en anpassad kolumn för mer komplexa scenarier.
Exempel 1: Grundläggande if-sats
Ta den första informationen som exempel, om produktens status är Gammal, visar 50 % rabatt; om produktens status är Ny, visar 20 % rabatt. För att skriva M-koden, gör så här:
1. Välj tabellen och klicka Data > Från tabell/sortiment för att gå till Power Query redaktör fönster.
2. Klicka på i det öppnade fönstret Lägg till kolumn > Anpassad kolumn, se skärmdump:
3. I poppade ut Anpassad kolumn dialogrutan, gör följande:
- Ange ett namn för den nya kolumnen i Nytt kolumnnamn textruta;
- Mata sedan in denna formel: if [Status] = "Gammal" sedan "50% " annars "20% " i Anpassad kolumn formeln låda.
4. Klicka sedan OK för att stänga den här dialogrutan. Nu kommer du att få följande resultat efter behov:
5. Äntligen klickar du på Hem > Stäng och ladda > Stäng och ladda för att ladda dessa data till ett nytt kalkylblad.
Exempel 2: Komplex if-sats
Vanligtvis, för att testa undervillkoren, kan du kapsla flera if-satser. Till exempel har jag datatabellen nedan. Om produkten är "Klänning", ge 50 % rabatt på det ursprungliga priset; om produkten är "Tröja" eller "Hoodie", ge 20 % rabatt på det ursprungliga priset; och andra produkter håller originalpriset.
1. Välj datatabellen och klicka Data > Från tabell/sortiment för att gå till Power Query redaktör fönster.
2. Klicka på i det öppnade fönstret Lägg till kolumn > Anpassad kolumn. I det öppnade Anpassad kolumn dialogrutan, gör följande:
- Ange ett namn för den nya kolumnen i Nytt kolumnnamn textruta;
- Mata sedan in formeln nedan i Anpassad kolumn formeln låda.
- = om [Produkt] = "Klänning" så [Pris] * 0.5 annat
om [Produkt] = "Tröja" så [Pris] * 0.8 annat
om [Produkt] = "Hoodie" då [Pris] * 0.8
annat [Pris]
3. Och klicka sedan på OK knappen för att gå tillbaka till Power Query redaktör fönster, och du kommer att få en ny kolumn med de data du behöver, se skärmdump:
4. Äntligen klickar du på Hem > Stäng och ladda > Stäng och ladda för att ladda dessa data till ett nytt kalkylblad.
ELLER-logiken utför flera logiska tester, och det sanna resultatet kommer att återkomma om något av de logiska testerna är korrekta. Syntaxen är:
Om jag antar att jag har tabellen nedan, vill jag nu ha en ny kolumnvisning som: om produkten är "Dress" eller "T-shirt", så är märket "AAA", märket för andra produkter är "BBB".
1. Välj datatabellen och klicka Data > Från tabell/sortiment för att gå till Power Query redaktör fönster.
2. Klicka på i det öppnade fönstret Lägg till kolumn > Anpassad kolumn, i det öppnade Anpassad kolumn dialogrutan, gör följande:
- Ange ett namn för den nya kolumnen i Nytt kolumnnamn textruta;
- Mata sedan in formeln nedan i Anpassad kolumnformel låda.
- = om [Produkt] = "Klänning" eller [Produkt] = "T-shirt" sedan "AAA"
annars "BBB"
3. Och klicka sedan på OK knappen för att gå tillbaka till Power Query redaktör fönster, och du kommer att få en ny kolumn med de data du behöver, se skärmdump:
4. Slutligen klickar du på Hem > Stäng och ladda > Stäng och ladda för att ladda dessa data till ett nytt kalkylblad.
AND-logiken utför flera logiska tester i en enda if-sats. Alla tester måste vara sanna för att det verkliga resultatet ska returneras. Om något av testen är falskt returneras det falska resultatet. Syntaxen är:
Ta till exempel ovanstående data, jag vill att en ny kolumn visas som: om produkten är "Dress" och beställer mer än 300, ge sedan 50 % rabatt på det ursprungliga priset; annars behåll originalpriset.
1. Välj datatabellen och klicka Data > Från tabell/sortiment för att gå till Power Query redaktör fönster.
2. Klicka på i det öppnade fönstret Lägg till kolumn > Anpassad kolumn. I det öppnade Anpassad kolumn dialogrutan, gör följande:
- Ange ett namn för den nya kolumnen i Nytt kolumnnamn textruta;
- Mata sedan in formeln nedan i Anpassad kolumnformel låda.
- = om [Produkt] ="Klänning" och [Beställning] > 300 så [Pris]*0.5
annat [Pris]
3. Klicka sedan OK knappen för att gå tillbaka till Power Query redaktör fönster, och du kommer att få en ny kolumn med de data du behöver, se skärmdump:
4. Slutligen bör du ladda dessa data till ett nytt kalkylblad genom att klicka Hem > Stäng och ladda > Stäng och ladda.
Okej, de tidigare exemplen är lätta för oss att förstå. Nu ska vi göra det svårare. Du kan kombinera OCH och ELLER för att bilda vilket tillstånd du kan föreställa dig. I den här typen kan du använda parenteser i formeln för att definiera komplexa regler.
Ta även ovanstående data som ett exempel, anta att jag vill att en ny kolumn visas som: om produkten är "Dress" och dess beställning är större än 300, eller produkten är "Byxor" och dess ordning större än 300, visa sedan "A+", annars visas "Övrigt".
1. Välj datatabellen och klicka Data > Från tabell/sortiment för att gå till Power Query redaktör fönster.
2. Klicka på i det öppnade fönstret Lägg till kolumn > Anpassad kolumn. I det öppnade Anpassad kolumn dialogrutan, gör följande:
- Ange ett namn för den nya kolumnen i Nytt kolumnnamn textruta;
- Mata sedan in formeln nedan i Anpassad kolumnformel låda.
- =om ([Produkt] = "Klänning" och [Beställ] > 300 ) eller
([Produkt] = "Byxor" och [Beställning] > 300 )
sedan "A+"
annars "Övrigt"
3. Klicka sedan OK knappen för att gå tillbaka till Power Query redaktör fönster, och du kommer att få en ny kolumn med de data du behöver, se skärmdump:
4. Slutligen bör du ladda dessa data till ett nytt kalkylblad genom att klicka Hem > Stäng och ladda > Stäng och ladda.
I rutan Anpassad kolumnformel kan du använda följande logiska operatorer:
- = : Lika med
- <> : Inte lika med
- > : Större än
- >= : Större än eller lika med
- < : Mindre än
- <= : Mindre än eller lika med
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!