İpucu: Digər dillər Google-tərcümə olunur. Sizi ziyarət edə bilərsiniz English bu linkin versiyası.
Daxil ol
x
or
x
x
Qeydiyyatdan
x

or

Bir sütunda başqa sütundakı unikal dəyərlərə əsaslanan hüceyrələri necə ötürmək olar?

Şübhəsiz ki, iki sütun olan bir sıra məlumatınız var, indi bir sütundakı hüceyrələri aşağıdakı nəticəni almaq üçün başqa sütundakı unikal dəyərlərə əsaslanan üfüqi satırlara köçürmək istəyirlər. Excel-də bu problemi həll etmək üçün yaxşı fikirləriniz varmı?

doc transpose unikal dəyərlər 1

Formüllü unikal dəyərlərə əsaslanan bir sütundakı hüceyrələri köçürün

VBA koduyla unikal dəyərlərə əsaslanan bir sütundakı hüceyrələri köçürün

Excel üçün Kutools ilə unikal dəyərlərə əsaslanan bir sütundakı hüceyrələri köçürün



Aşağıdakı array formulaları ilə, unikal dəyərlər çıxarmaq və onların müvafiq məlumatları yatay satırlara köçürə bilərsiniz, aşağıdakı kimi edin:

1. Bu array formula daxil edin: = INDEX ($ A $ 2: $ A $ 16, MATCH (0, COUNTIF ($ D $ 1: $ D1, $ A $ 2: $ A $ 16), 0)) məsələn, boş bir hüceyrə, D2 daxil edin və basın Shift + Ctrl + Enter Doğru nəticə əldə etmək üçün düymələri birlikdə baxın, ekran görüntüsünə baxın:

doc transpose unikal dəyərlər 2

QeydYuxarıda qeyd olunan formada, A2: A16 unikal dəyərlər siyahısını və istədiyiniz siyahıdır D1 bu formula hüceyrəsinin yuxarı hüceyrəsidir.

2. Sonra bütün unikal dəyərlər çıxarmaq üçün doldurma tutamağını hüceyrələrə endirin, ekran görünüşünə baxın:

doc transpose unikal dəyərlər 3

3. Və sonra E2 hüceyrəsinə bu formula daxil edin: =IFERROR(INDEX($B$2:$B$16, MATCH(0, COUNTIF($D2:D2,$B$2:$B$16)+IF($A$2:$A$16<>$D2, 1, 0), 0)), 0)və mətbuatını unutmayın Shift + Ctrl + Enter nəticə əldə etmək üçün açar ekran görünüşünə baxın:

doc transpose unikal dəyərlər 4

Qeyd: Aşağıdakı formada: B2: B16 köçürmək istədiyiniz sütun məlumatları, A2: A16 dəyərlərə əsaslanmaq istədiyiniz sütun və D2 Step 1-da çıxardığınız unikal dəyəri var.

4. Daha sonra doldurulmuş sapı 0 göstərənədək göstərilən məlumatları siyahıya almaq istədiyiniz hüceyrələrin hüdudlarına doğru sürüşdürün, ekran görüntüsünə baxın:

doc transpose unikal dəyərlər 5

5. Daha sonra doldurulmuş məlumatları aşağıdakı ekran görüntüsü kimi qəbul etmək üçün doldurma tutamağını hüceyrələr aralığına sürükləməyə davam edin:

doc transpose unikal dəyərlər 6


Düsturlar sizə anlamaq üçün mürəkkəb ola bilər, burada lazım olan nəticə əldə etmək üçün aşağıdakı VBA kodunu işə sala bilərsiniz.

1. Basıb saxlayın ALT + F11 düymələri açmaq üçün Proqramlar üçün Microsoft Visual Basic pəncərə.

2. Basın Taxmaq > Modules, və aşağıdakı kodu yapışdırın Modules Pəncərə.

VBA kodu: Bir sütunda başqa sütundakı unikal dəyərlərə əsaslanan hüceyrələri köçürün:

Sub transposeunique()
'updateby Extendoffice 20151207
    Dim xLRow As Long
    Dim i As Long
    Dim xCrit As String
    Dim xCol  As New Collection
    Dim xRg As Range
    Dim xOutRg As Range
    Dim xTxt As String
    Dim xCount As Long
    Dim xVRg As Range
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("please select data range(only two columns):", "Kutools for Excel", xTxt, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
    If (xRg.Columns.Count <> 2) Or _
       (xRg.Areas.Count > 1) Then
        MsgBox "the used range is only one area with two columns ", , "Kutools for Excel"
        Exit Sub
    End If
    Set xOutRg = Application.InputBox("please select output range(specify one cell):", "Kutools for Excel", xTxt, , , , , 8)
    If xOutRg Is Nothing Then Exit Sub
    Set xOutRg = xOutRg.Range(1)
    xLRow = xRg.Rows.Count
    For i = 2 To xLRow
        xCol.Add xRg.Cells(i, 1).Value, xRg.Cells(i, 1).Value
    Next
    Application.ScreenUpdating = False
    For i = 1 To xCol.Count
        xCrit = xCol.Item(i)
        xOutRg.Offset(i, 0) = xCrit
        xRg.AutoFilter Field:=1, Criteria1:=xCrit
        Set xVRg = xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible)
        If xVRg.Count > xCount Then xCount = xVRg.Count
        xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible).Copy
        xOutRg.Offset(i, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
        Application.CutCopyMode = False
    Next
    xOutRg = xRg.Cells(1, 1)
    xOutRg.Offset(0, 1).Resize(1, xCount) = xRg.Cells(1, 2)
    xRg.Rows(1).Copy
    xOutRg.Resize(1, xCount + 1).PasteSpecial Paste:=xlPasteFormats
    xRg.AutoFilter
    Application.ScreenUpdating = True
End Sub

3. Sonra basın F5 bu kodu çalıştırmak üçün düyməsini basın və istifadə etmək istədiyiniz məlumatların aralığını seçməyi xatırlatmaq üçün bir əmr qutusu açılır, ekran görüntüsünə baxın:

doc transpose unikal dəyərlər 7

4. Və sonra basın OK düyməsini basarsanız, başqa bir əmr qutusu nəticə çıxarmaq üçün bir hüceyrəni seçməyi xatırlatmaq üçün açılır, ekran görüntüsünə baxın:

doc transpose unikal dəyərlər 8

6. Basın OK düyməsini basın və B sütununda olan məlumat S sütununda unikal dəyərlərə əsaslanan köçürülmüşdür, ekran görünüşünə baxın:

doc transpose unikal dəyərlər 9


Əgər Excel üçün Kutools, birləşdirir Ətraflı qablar birləşdirinSplit Cells kommunal, hər hansı formul və kod olmadan bu vəzifəni tez bir zamanda bitirə bilərsiniz.

Excel üçün Kutools : 300-dən daha çox 60-dən istifadə etməklə, Excel-in əlavələri, XNUMX gündə heç bir məhdudiyyət yox idi.

Kutools'u Excel üçün quraşdırdıqdan sonra aşağıdakıları edin:

1. Istifadə etmək istədiyiniz məlumat aralığını seçin. (Orijinal məlumatları saxlamaq istəyirsinizsə, məlumatı əvvəlcə başqa bir yerə köçürün və yapışdırın).

2. Sonra basın Kutools > məzmun > Ətraflı qablar birləşdirin, bax ekran görüntüsü:

doc transpose unikal dəyərlər 10

3. CSütunlara əsaslanan sütunlar informasiya qutusu, aşağıdakı əməliyyatları edin:

(1.) Məlumat bazasına köçürmək istədiyiniz sütun adını basın və seçin İbtidai Key;

(2.) Göndərmək istədiyiniz başqa sütunu basın və vurun Birləşdirmək birləşdirilmiş məlumatları, məsələn, boşluq, virgül, nöqtəli vergül kimi ayırmaq üçün bir ayırıcı seçin.

doc transpose unikal dəyərlər 11

4. Sonra basın Ok düyməsinə, B sütunundakı məlumatlar A sütununa əsaslanan bir hüceyrədə birləşdirilmişdir, ekran görüntüsünə baxın:

doc transpose unikal dəyərlər 12

5. Sonra birləşdirilmiş hüceyrələri seçin və vurun Kutools > Mətn > Split Cells, bax ekran görüntüsü:

doc transpose unikal dəyərlər 13

6. İçində Split Cells informasiya qutusu seçin Sütunlara bölün Altında növü seçimi seçin və sonra birləşdirilmiş məlumatlarınızı ayırmaq üçün ayırıcı seçin, ekran görünüşünə baxın:

doc transpose unikal dəyərlər 14 14

7. Sonra basın Ok düyməsini sıxın və buraxılmış nəticəni ortaya çıxardığına görə bir hüceyrə seçin, ekran görünüşünə baxın:

doc transpose unikal dəyərlər 15

8. Basın OKsizə lazım olan nəticə əldə edəcəksiniz. Ekran görüntüsünə baxın:

doc transpose unikal dəyərlər 16

Excel İndi Download və pulsuz sınaq Kutools!


Excel üçün Kutools: 200 gündə heç bir məhdudiyyət olmadan 60-dən çox lazımlı Excel eklentisi ilə pulsuzdur. İndi indir və pulsuz sınaq!



Təklif olunan Məhsuldarlıq Vasitələri

Office Tab

qızıl star1 Chrome, Firefox və yeni Internet Explorer kimi Excel və digər Office proqramlarına lazımlı sekmeleri gətirin.

Excel üçün Kutools

qızıl star1 Amazing! 5 dəqiqədə məhsuldarlığınızı artırın. Heç bir xüsusi bacarıqa ehtiyac yoxdur, hər gün iki saat saxlaya bilərsiniz!

qızıl star1 300 Excel üçün yeni funksiyalar, Excel çox asan və güclü olun:

  • Veriyi ləğv etmədən Cell / Satır / Sütunları birləşdirin.
  • Bir neçə Çarşaf və İş Kitabını birləşdirin və birləşdirin.
  • Çaprazları müqayisə edin, birdən çox aralığa kopyalayın, mətni tarixə, vahidə və valyuta çevrilməsinə çevirin.
  • Rənglər, Paging Subtotals, Advanced Sort və Super Filter tərəfindən sayılan,
  • Daha çox seçin / Insert / Sil / Mətn / Biçim / Bağlantı / Yorum / Çalışma kitabları / Çalışma Qurğuları Tools ...

Excel üçün Kutools-un ekranı

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Sean Vizcarrondo · 2 months ago
    So I am working for a company. We have columns for info such as Last name, first name, rank, section, phone number, address. Is there a way I can use a similar formula to transpose the entire row of info to a column by names?
  • To post as a guest, your comment is unpublished.
    kumar · 2 months ago
    Hi can we add each row and give the output in one column, with the above functionality.
  • To post as a guest, your comment is unpublished.
    Raj · 2 months ago
    Need to get the same out put but for predefined columns to be selected would be ($A,$B) and need the output column Position on $D$1.
    If any one have idea's that would be a great help!!!!
  • To post as a guest, your comment is unpublished.
    Kate · 5 months ago
    =INDEX($A$2:$A$16, MATCH(0, COUNTIF($D$1:$D1, $A$2:$A$16), 0)) worked for me to transpose the unique values of a column into a new column BUT...is there a way to ad in a sort function so that the new column created is transposed in ascending order?


    Thanks!
  • To post as a guest, your comment is unpublished.
    Prial · 7 months ago
    Same as Dave, I need to do the exactly opposite of this. Table 2 to transpose to Table 1. Input Table 2, Output Table 1.