Turinys
Apskritai TRANSPOSE Tačiau rezultatai, priklausantys nuo tam tikrų kriterijų, pvz., unikalių reikšmių, nebus grąžinami. Šioje pamokoje parodysime, kaip konvertuoti eilutes į stulpelius. perkelti eilutes į stulpelius pagal "Excel" kriterijus.
Atsisiųsti praktikos sąsiuvinį
Atsisiųskite šį pratybų sąsiuvinį, kad galėtumėte atlikti pratimus skaitydami šį straipsnį.
Eilučių perkėlimas į stulpelius naudojant kriterijus.xlsm2 patogūs būdai, kaip "Excel" pagal kriterijus perkelti eilutes į stulpelius
Toliau pateiktame paveikslėlyje pateikiame kelių produktų ir jų kiekių duomenų rinkinį. eilutės bus perkeltos į stulpelius. Mes transponuoti eilutes į stulpelius pagal kriterijus. unikalių reikšmių, nes atskiroje ląstelėje yra keletas pasikartojančių įrašų. INDEKSAS , MATCH , COUNTIF , IF , ir IFERROR funkcijas formulių kūrimui. Taip pat vykdysime VBA kodą, kad pasiektumėte tą patį.
1. Taikykite formulę su INDEX, MATCH ir COUNTIF funkcijomis, kad "Excel" pagal kriterijus perkeltumėte eilutes į stulpelius
Pradžioje taikysime formules INDEKSAS , MATCH , COUNTIF , IF , ir IFERROR funkcijos su masyvais.
1 veiksmas: INDEX, MATCH ir COUNTIF funkcijų įterpimas
- Ląstelėje E5 įveskite šią formulę, kad gautumėte unikalius produktus.
=INDEX($B$5:$B$12, MATCH(0, COUNTIF($E$4:$E4, $B$5:$B$12), 0))
2 veiksmas: taikyti masyvą
- Norėdami taikyti formulę su masyvu, paspauskite Ctrl + Pamaina + Įveskite
- Todėl gausite pirmąjį unikalų rezultatą.
3 veiksmas: automatinis ląstelių užpildymas
- Norėdami gauti visas unikalias reikšmes, naudokite Automatinis pildymas Handle Tool, kad automatiškai užpildytumėte stulpelį.
4 žingsnis: įveskite IFERROR funkcijas
- Norėdami perkelti dydžių eilučių reikšmes į stulpelius, užrašykite šią formulę.
=IFERROR(INDEX($C$5:$C$12, MATCH(0, COUNTIF($E5:E5, $C$5:$C$12) + IF($B$5:$B$12$E5,1,0),0),0)),0)
5 veiksmas: taikyti masyvo
- Norėdami įterpti masyvą, paspauskite Ctrl + Pamaina + Įveskite .
- Todėl ląstelės F5 bus rodoma pirmoji perkelta vertė, kaip parodyta toliau pateiktame paveikslėlyje.
- Vilkite žemyn su "AutoFill" rankenos įrankis automatiškai užpildyti stulpelį.
- Galiausiai automatiškai užpildykite eilutes "AutoFill" rankenos įrankis .
- Todėl visos perkeltos eilutės bus paverstos stulpeliais, kaip parodyta toliau pateiktame paveikslėlyje.
Skaityti daugiau: Kelių eilučių perkėlimas iš grupės į stulpelius programoje "Excel
Panašūs skaitiniai
- Kaip "Excel" dubliuotas eilutes perkelti į stulpelius (4 būdai)
- "Excel VBA": kelių eilučių perkėlimas iš grupės į stulpelius
- Kelių stulpelių perkėlimas į vieną "Excel" stulpelį (3 patogūs metodai)
- Kaip "Excel" programoje atlikti atvirkštinę transpoziciją (3 paprasti metodai)
2. Paleiskite VBA kodą, kad "Excel" pagal kriterijus perkeltumėte eilutes į stulpelius
1 žingsnis: sukurti modulį
- Pirmiausia paspauskite Alt + F11 pradėti VBA makrokomandos .
- Spustelėkite Įdėkite .
- Norėdami sukurti Modulis , pasirinkite Modulis galimybė.
2 veiksmas: įveskite VBA kodus
- Įklijuokite šiuos VBA
Sub TransposeRows() 'Apibrėžti kintamuosius Dim RowsNumber As Long Dim p As Long Dim xColCr As String Dim xColumn As New Collection Dim InputRng As Range Dim OutputRng As Range Dim RngText As String Dim CountRow As Long Dim xRowRg As Range On Error Resume Next 'Set values and Input Box fot Input Range RngText = ActiveWindow.RangeSelection.Address Set InputRng = Application.InputBox("Select Your InputRange for 2 columns:", "ExcelWIKI", RngText, , , , , , 8) Set InputRng = Application.Intersect(InputRng, InputRng.Worksheet.UsedRange) 'Taikyti sąlygą, kad būtų suskaičiuoti tik 2 stulpeliai ir parodytas msg langas, įspėjantis, kad reikia pasirinkti tik du stulpelius If InputRng Is Nothing Then Exit Sub If (InputRng.Columns.Count 2) Or _ (InputRng.Areas.Count> 1) Then MsgBox "The specified range is only area for 2 columns ",, "ExcelWIKI" Exit Sub End If 'Nustatykite reikšmes ir įvesties laukelį įvesties diapazonui Set OutputRng = Application.InputBox("Pasirinkite savo išvesties diapazoną (viena ląstelė):", "ExcelWIKI", RngText, , , , , , 8) If OutputRng Is Nothing Then Exit Sub Set OutputRng = OutputRng.Range(1) 'Suskaičiuokite eilutes RowsNumber = InputRng.Rows.Count 'Taikyti ciklą For For p = 2 To RowsNumber xColumn.Add InputRng.Cells(p, 1).Value, InputRng.Cells(p,1).Value Next Application.ScreenUpdating = False For p = 1 To xColumn.Count xColCr = xColumn.Item(p) OutputRng.Offset(p, 0) = xColCr InputRng.AutoFilter Field:=1, Criteria1:=xColCr Set xRowRg = InputRng.Range("B2:B" & RowsNumber).SpecialCells(xlCellTypeVisible) If xRowRg.Count> CountRow Then CountRow = xRowRg.Count 'Copy and paste with transpose InputRng.Range("B2:B" &RowsNumber).SpecialCells(xlCellTypeVisible).Copy OutputRng.Offset(p, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True Application.CutCopyMode = False Next OutputRng = InputRng.Cells(1, 1) OutputRng.Offset(0, 1).Resize(1, CountRow) = InputRng.Cells(1, 2) InputRng.Rows(1).Copy OutputRng.Resize(1, CountRow + 1).PasteSpecial Paste:=xlPasteFormatsInputRng.AutoFilter Application.ScreenUpdating = True End Sub
3 veiksmas: paleiskite programą
- Pirma, išsaugoti ir paspauskite F5 paleisti programą.
- Pasirinkite savo duomenų rinkinį su antrašte.
- Spustelėkite GERAI .
- Pasirinkite ląstelę, kad gautumėte išvestis
- Tada spustelėkite GERAI .
- Dėl to gausite rezultatus, kuriuose eilutės bus perkeltos į stulpelius, kaip parodyta toliau pateiktame paveikslėlyje.
Skaitykite daugiau: Kaip perkelti eilutes į stulpelius naudojant "Excel VBA" (4 idealūs pavyzdžiai)
Išvada
Tikiuosi, kad šiame straipsnyje rasite vadovėlį, kaip perkelti eilutes į stulpelius pagal "Excel" kriterijus . visas šias procedūras reikėtų išmokti ir pritaikyti savo duomenų rinkiniui. Peržiūrėkite praktinio darbo sąsiuvinį ir išbandykite šiuos įgūdžius. Jūsų vertingas palaikymas mus motyvuoja toliau rengti tokius vadovėlius kaip šis.
Jei turite klausimų - nedvejodami kreipkitės į mus. Taip pat nedvejodami palikite komentarų toliau esančiame skyriuje.
Mes, Exceldemy Komanda visada reaguoja į jūsų užklausas.
Būkite su mumis ir toliau mokykitės.