Obsah
Všeobecne platí, že TRANSPOSE Funkcia sa často používa na konverziu riadkov na stĺpce. Avšak výsledky závislé od určitých kritérií, ako napríklad jedinečné hodnoty, nebudú vrátené. V tomto návode vám ukážeme, ako transponovať riadky do stĺpcov na základe kritérií v programe Excel.
Stiahnite si cvičebnicu
Stiahnite si tento cvičebný zošit, aby ste si počas čítania tohto článku precvičili svoje zručnosti.
Transponovať riadky do stĺpcov pomocou kritérií.xlsm2 praktické prístupy na transpozíciu riadkov do stĺpcov na základe kritérií v programe Excel
Na obrázku nižšie sme uviedli súbor údajov o niekoľkých výrobkoch a ich množstvách. riadky sa potom transponujú do stĺpcov. Budeme transponovať riadky do stĺpcov na základe kritérií jedinečných hodnôt, pretože v samostatnej bunke sa nachádzajú niektoré duplicitné záznamy. Najprv použijeme INDEX , MATCH , COUNTIF , IF a IFERROR funkcie na vytváranie vzorcov. Vykonáme tiež VBA kód na dosiahnutie rovnakej veci.
1. Použitie vzorca s funkciami INDEX, MATCH a COUNTIF na transpozíciu riadkov do stĺpcov na základe kritérií v programe Excel
Na začiatku použijeme vzorce INDEX , MATCH , COUNTIF , IF a IFERROR funkcie s poliami.
Krok 1: Vloženie funkcií INDEX, MATCH a COUNTIF
- V bunke E5 , zadajte nasledujúci vzorec, aby ste získali jedinečné produkty.
=INDEX($B$5:$B$12, MATCH(0, COUNTIF($E$4:$E4, $B$5:$B$12), 0))
Krok 2: Použitie poľa
- Ak chcete použiť vzorec s poľom, stlačte tlačidlo Ctrl + Zmena + Vstúpte na stránku
- Preto získate prvý jedinečný výsledok.
Krok 3: Automatické vypĺňanie buniek
- Ak chcete získať všetky jedinečné hodnoty, použite Automatické vypĺňanie Handle Tool na automatické vyplnenie stĺpca.
Krok 4: Zadajte funkcie IFERROR
- Ak chcete transponovať hodnoty riadkov veličín do stĺpcov, napíšte nasledujúci vzorec.
=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)
Krok 5: Použitie poľa
- Ak chcete vložiť pole, stlačte tlačidlo Ctrl + Zmena + Vstúpte na stránku .
- V dôsledku toho sa bunky F5 zobrazí prvú transponovanú hodnotu ako na obrázku nižšie.
- Potiahnite nadol pomocou Nástroj AutoFill Handle Tool na automatické vyplnenie stĺpca.
- Nakoniec automaticky vyplňte riadky pomocou Nástroj AutoFill Handle Tool .
- Preto sa všetky transponované riadky zmenia na stĺpce, ako je to na obrázku nižšie.
Ďalšie informácie: Transponovanie viacerých riadkov v skupine do stĺpcov v programe Excel
Podobné čítania
- Ako transponovať duplicitné riadky do stĺpcov v programe Excel (4 spôsoby)
- Excel VBA: Transponovanie viacerých riadkov v skupine do stĺpcov
- Transponovanie viacerých stĺpcov do jedného stĺpca v programe Excel (3 praktické metódy)
- Ako spätne transponovať v programe Excel (3 jednoduché metódy)
2. Spustite kód VBA na transpozíciu riadkov do stĺpcov na základe kritérií v programe Excel
Krok 1: Vytvorenie modulu
- Najprv stlačte Alt + F11 začať Makro VBA .
- Kliknite na Vložte .
- Vytvorenie Modul , vyberte Modul možnosť.
Krok 2: Zadajte kódy VBA
- Vložte nasledujúce VBA
Sub TransposeRows() 'Definujte premenné 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 'Nastavte hodnoty a vstupné pole pre vstupný rozsah RngText = ActiveWindow.RangeSelection.Address Set InputRng = Application.InputBox("Select Your InputRozsah pre 2 stĺpce:", "ExcelWIKI", RngText, , , , , 8) Set InputRng = Application.Intersect(InputRng, InputRng.Worksheet.UsedRange) 'Aplikovať podmienku na počítanie iba 2 stĺpcov a zobrazenie msg boxu pre upozornenie na výber iba dvoch stĺpcov 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 'Nastavte hodnoty a vstupné pole pre vstupný rozsah Set OutputRng = Application.InputBox("Select Your Output Range (one cell):", "ExcelWIKI", RngText, , , , 8) If OutputRng Is Nothing Then Exit Sub Set OutputRng = OutputRng.Range(1) 'Count Rows RowsNumber = InputRng.Rows.Count 'Apply For loop 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
Krok 3: Spustenie programu
- Po prvé, uložiť a stlačte F5 na spustenie programu.
- Vyberte súbor údajov pomocou záhlavia.
- Kliknite na OK .
- Výberom bunky získate výstup
- Potom kliknite na OK .
- Výsledkom budú výsledky, ktoré sú transponované z riadkov do stĺpcov, ako je znázornené na obrázku nižšie.
Prečítajte si viac: Ako transponovať riadky do stĺpcov pomocou Excel VBA (4 ideálne príklady)
Záver
Dúfam, že vám tento článok poskytol návod, ako transponovať riadky do stĺpcov na základe kritérií v programe Excel . všetky tieto postupy by ste sa mali naučiť a aplikovať ich na svoj súbor údajov. Pozrite si cvičný zošit a vyskúšajte si tieto zručnosti. K ďalšiemu vytváraniu takýchto výukových materiálov nás motivuje vaša cenná podpora.
Ak máte akékoľvek otázky - Neváhajte a opýtajte sa nás. Tiež neváhajte zanechať komentáre v nižšie uvedenej časti.
My, Exceldemy Tím vždy reaguje na vaše otázky.
Zostaňte s nami & pokračujte v učení.