[]
Excel masterlarına
Arkadaşlar,
Elimde iki sutun, ve 2000 satırdan mürekkep bir listem var. İlk sutunda a, b, c gibi 32 farklı giri var ve tabii olarak tekrar ediyor. Ben bu verileri gruplara ayırmak istiyorum. Her grupta, ilk sutunda yer alan a, b, c verilerinden birer adet olacak şekilde yapmak istiyorum. Nasıl sıralayabilirim, nasıl gruplandırabilirim? Saatlerimi alacak, yardımlarınız çok memun edecek.
Teşekkürler şimdiden
Elimde iki sutun, ve 2000 satırdan mürekkep bir listem var. İlk sutunda a, b, c gibi 32 farklı giri var ve tabii olarak tekrar ediyor. Ben bu verileri gruplara ayırmak istiyorum. Her grupta, ilk sutunda yer alan a, b, c verilerinden birer adet olacak şekilde yapmak istiyorum. Nasıl sıralayabilirim, nasıl gruplandırabilirim? Saatlerimi alacak, yardımlarınız çok memun edecek.
Teşekkürler şimdiden
Pivot tablo ile ne alakası var anlamadım. Adam başka bir şey istemiş.
- himmet dayi (28.10.20 10:56:22)
ilk aklıma gelen makro ile yapmak. ama yine uğraştıracak.
şöyle ki; ilk sütunda a,b,c, ... 32 farklı girinin her biri için bir sayı atama fonksiyonu belirlenecek. bu fonksiyon her bir farklı veriyi sayıp ona göre sayı atayacak.
yani örneğin a için sayaç belirleyeceksin
For i = 1 To 2000 ' toplam satır sayısını yazıyoruz 2000 yerine
If Cells(i, 1) = "a" Then
asayac = asayac + 1
Cells(i, 3) = 1 + 32 * (asayac - 1)
End If
Next i
b için de fonksiyon şöyle olacak
cells(i, 6) = 2 + 32 * (b_sayac - 1)
bu şekilde ilk a'ya mesela 1, ikinci a'ya 33, üçüncü a'ya 65 sayısını yazacak 6. sütuna.
b'ye 2, 34, 66 diye sayı atayacak.
c'ye 3, 35, 67 diye...
bu makroyu çalıştırdıktan sonra 6. sütuna göre (F sütunu) sıralayacaksın tüm verileri.
şöyle ki; ilk sütunda a,b,c, ... 32 farklı girinin her biri için bir sayı atama fonksiyonu belirlenecek. bu fonksiyon her bir farklı veriyi sayıp ona göre sayı atayacak.
yani örneğin a için sayaç belirleyeceksin
For i = 1 To 2000 ' toplam satır sayısını yazıyoruz 2000 yerine
If Cells(i, 1) = "a" Then
asayac = asayac + 1
Cells(i, 3) = 1 + 32 * (asayac - 1)
End If
Next i
b için de fonksiyon şöyle olacak
cells(i, 6) = 2 + 32 * (b_sayac - 1)
bu şekilde ilk a'ya mesela 1, ikinci a'ya 33, üçüncü a'ya 65 sayısını yazacak 6. sütuna.
b'ye 2, 34, 66 diye sayı atayacak.
c'ye 3, 35, 67 diye...
bu makroyu çalıştırdıktan sonra 6. sütuna göre (F sütunu) sıralayacaksın tüm verileri.
- himmet dayi (28.10.20 12:24:27 ~ 12:47:27)
4 harf için yaptım. Bu mantıkla 32 harf için yaparsan halloluyor.
For i = 1 To 2000 'satır sayısı
If Cells(i, 1) = "a" Then
asayac = asayac + 1
Cells(i, 3) = 1 + 32 * (asayac - 1)
ElseIf Cells(i, 1) = "b" Then
bsayac = bsayac + 1
Cells(i, 3) = 2 + 32 * (bsayac - 1)
ElseIf Cells(i, 1) = "c" Then
csayac = csayac + 1
Cells(i, 3) = 3 + 32 * (csayac - 1)
ElseIf Cells(i, 1) = "d" Then
dsayac = dsayac + 1
Cells(i, 3) = 4 + 32 * (dsayac - 1)
End If
Next i
For i = 1 To 2000 'satır sayısı
If Cells(i, 1) = "a" Then
asayac = asayac + 1
Cells(i, 3) = 1 + 32 * (asayac - 1)
ElseIf Cells(i, 1) = "b" Then
bsayac = bsayac + 1
Cells(i, 3) = 2 + 32 * (bsayac - 1)
ElseIf Cells(i, 1) = "c" Then
csayac = csayac + 1
Cells(i, 3) = 3 + 32 * (csayac - 1)
ElseIf Cells(i, 1) = "d" Then
dsayac = dsayac + 1
Cells(i, 3) = 4 + 32 * (dsayac - 1)
End If
Next i
- himmet dayi (28.10.20 12:47:51 ~ 12:48:05)
1