Excel'de yinelenen satırları sütunlara nasıl dönüştürebilirsiniz?
Diyelim ki Excel'de bir veri aralığınız var ve şimdi aşağıdaki ekran görüntüsünde gösterildiği gibi yinelenen satırları birden fazla sütuna dönüştürmek istiyorsunuz, bu görevi çözmek için iyi bir fikriniz var mı?
Yinelenen satırları VBA kodu ile sütunlara dönüştürme
Yinelenen satırları VBA kodu ile sütunlara dönüştürme
Ne yazık ki, Excel'de bunu ele almak için doğrudan bir yol yok, ancak bunu çözmek için bir VBA kodu oluşturabilirsiniz, lütfen şu adımları izleyin:
1. Microsoft Visual Basic for Applications penceresini açmak için ALT + F11 tuşlarına basın.
2. Ekle > Modül'ü tıklayın ve aşağıdaki kodu Modül Penceresine yapıştırın.
VBA kodu: Yinelenen satırları birden fazla sütuna dönüştürme
Sub ConvertTable()
'Updateby Extendoffice
Dim xArr1 As Variant
Dim xArr2 As Variant
Dim InputRng As Range, OutRng As Range
Dim xRows As Long
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set OutRng = OutRng.Range("A1")
xArr1 = InputRng.Value
t = UBound(xArr1, 2): xRows = 1
With CreateObject("Scripting.Dictionary")
.CompareMode = 1
For i = 2 To UBound(xArr1, 1)
If Not .exists(xArr1(i, 1)) Then
xRows = xRows + 1: .Item(xArr1(i, 1)) = VBA.Array(xRows, t)
For ii = 1 To t
xArr1(xRows, ii) = xArr1(i, ii)
Next
Else
xArr2 = .Item(xArr1(i, 1))
If UBound(xArr1, 2) < xArr2(1) + t - 1 Then
ReDim Preserve xArr1(1 To UBound(xArr1, 1), 1 To xArr2(1) + t - 1)
For ii = 2 To t
xArr1(1, xArr2(1) + ii - 1) = xArr1(1, ii)
Next
End If
For ii = 2 To t
xArr1(xArr2(0), xArr2(1) + ii - 1) = xArr1(i, ii)
Next
xArr2(1) = xArr2(1) + t - 1: .Item(xArr1(i, 1)) = xArr2
End If
Next
End With
OutRng.Resize(xRows, UBound(xArr1, 2)).Value = xArr1
End Sub
3. Ardından bu kodu çalıştırmak için F5 tuşuna basın, açılan diyalog kutusunda yinelenen satırları birden fazla sütuna dönüştürmek istediğiniz veri aralığını seçin, aşağıdaki ekran görüntüsüne bakın:
4. Tamam'ı tıklayın ve sonuçları koymak istediğiniz hücreyi aşağıdaki diyalog kutusunda seçin, aşağıdaki ekran görüntüsüne bakın:
5. Ve ardından Tamam düğmesine tıklayın, seçtiğiniz veriler aşağıdaki şekilde dönüştürülmüştür:

Kutools AI ile Excel Sihirini Keşfedin
- Akıllı Yürütme: Hücre işlemleri gerçekleştirin, verileri analiz edin ve grafikler oluşturun—tümü basit komutlarla sürülür.
- Özel Formüller: İş akışlarınızı hızlandırmak için özel formüller oluşturun.
- VBA Kodlama: VBA kodunu kolayca yazın ve uygulayın.
- Formül Yorumlama: Karmaşık formülleri kolayca anlayın.
- Metin Çevirisi: Elektronik tablolarınız içindeki dil engellerini aşın.
İlgili makaleler:
Sütunları ve satırları tek bir satıra nasıl aktarabilir / dönüştürebilirsiniz?
Sütunları ve satırları tek bir sütuna nasıl aktarabilir / dönüştürebilirsiniz?
Excel'de tek bir sütunu birden fazla sütuna nasıl aktarabilir / dönüştürebilirsiniz?
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar. En çok ihtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
- Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!