Huomautus
Tämä on yksi artikkelisarjasta, joka sisältää yksityiskohtaiset ratkaisut, jotka lähetettiin Podcast 2316 -haasteeseen.
Ratkaisussa tietojen muokkaamiseen halusin tapaa nähdä, onko sarakkeessa työntekijän nimi vai arvo, kuten Q1, Q2, Q3, Q4. Ratkaisussani oletin, ettei kenelläkään ole nimeä, jossa on 2 merkkiä, ja lisäsin sarakkeen laskemaan sarakkeen tekstin pituuden.
Jason M välttänyt Pituus-sarakkeen tarvetta lisäämällä Ese-sarakkeeseensa kolme muuta If-lauseketta.
![](https://cdn.wiki-base.com/5869519/power_query_using_else_if_clauses_in_conditional_columns_-_excel_tips_2.png.webp)
Työntekijän ehdollinen laskelma etsii sitten, että vuosineljännes on tyhjä: if (vuosineljännes) = null sitten (luokan kuvaus) muu tyhjä.
![](https://cdn.wiki-base.com/5869519/power_query_using_else_if_clauses_in_conditional_columns_-_excel_tips_3.png.webp)
Tässä on Jasonin M-koodi:
let Source = Excel.CurrentWorkbook()((Name="UglyData"))(Content), #"Transposed Table" = Table.Transpose(Source), #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table", (PromoteAllScalars=true)), #"Added Conditional Column" = Table.AddColumn(#"Promoted Headers", "Quarter", each if (Category Description) = "Q1" then (Category Description) else if (Category Description) = "Q2" then (Category Description) else if (Category Description) = "Q3" then (Category Description) else if (Category Description) = "Q4" then (Category Description) else null), #"Added Conditional Column1" = Table.AddColumn(#"Added Conditional Column", "Employee", each if (Quarter) = null then (Category Description) else null), #"Filled Up" = Table.FillUp(#"Added Conditional Column1",("Quarter")), #"Filled Down" = Table.FillDown(#"Filled Up",("Employee")), #"Inserted Distinct Count" = Table.AddColumn(#"Filled Down", "Distinct Count", each List.NonNullCount(List.Distinct(((Category Description), (Employee)))), Int64.Type), #"Filtered Rows1" = Table.SelectRows(#"Inserted Distinct Count", each (Distinct Count) 1), #"Removed Columns1" = Table.RemoveColumns(#"Filtered Rows1",("Distinct Count")), #"Removed Columns" = Table.RemoveColumns(#"Removed Columns1",("Category Description")), #"Filtered Rows" = Table.SelectRows(#"Removed Columns", each ((Employee) "Dept. Total")), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Filtered Rows", ("Quarter", "Employee"), "Attribute", "Value"), #"Renamed Columns" = Table.RenameColumns(#"Unpivoted Other Columns",(("Attribute", "Category Description"))), #"Pivoted Column" = Table.Pivot(#"Renamed Columns", List.Distinct(#"Renamed Columns"(Quarter)), "Quarter", "Value"), #"Inserted Sum" = Table.AddColumn(#"Pivoted Column", "Total", each List.Sum(((Q1), (Q2), (Q3), (Q4))), type number), #"Reordered Columns" = Table.ReorderColumns(#"Inserted Sum",("Category Description", "Employee", "Q1", "Q2", "Q3", "Q4", "Total")) in #"Reordered Columns"
Ondřej Malinský lähetti ratkaisun, joka käytti myös useita muita If-lausekkeita:
![](https://cdn.wiki-base.com/5869519/power_query_using_else_if_clauses_in_conditional_columns_-_excel_tips_4.png.webp)
Matthew Wykle lähetti ratkaisun, jolla oli vielä yksi tapa tunnistaa asuinalueet. Hänen menetelmä tarkistaa sekä tekstin alkavan Q: lla että toisen numeron ollessa alle 5:
if Text.Start((Attribute),1)="Q" and Number.From(Text.Middle((Attribute),1,1))<5 then Text.Start((Attribute),2) else "Total")
![](https://cdn.wiki-base.com/5869519/power_query_using_else_if_clauses_in_conditional_columns_-_excel_tips_5.png.webp)
Christian Neuberger käytti tätä kaavaa saadakseen työntekijän nimen, täytetyn ja sitten suodatetun sarakkeen 1 sisällyttämään vain Q1, Q2, Q3 tai Q4. Oz Du Soleil käytti myös tätä menetelmää.
![](https://cdn.wiki-base.com/5869519/power_query_using_else_if_clauses_in_conditional_columns_-_excel_tips_6.png.webp)
Excelin MVP Ken Puls todennäköisesti voittaa kaavallaan. Se haluaa alaviivan tietää, onko tämä työntekijän nimi.
Katso Kenin täydellinen ratkaisu Excel MVPs Attack the Data Cleansing Problem in Power Query -sovelluksessa.
![](https://cdn.wiki-base.com/5869519/power_query_using_else_if_clauses_in_conditional_columns_-_excel_tips_7.png.webp)
Palaa Podcast 2316 -haasteen pääsivulle.
Lue sarjan seuraava artikkeli: Power Query: Useiden identtisten otsikkojen käsittely.