[]
Excel'le ilgili birkaç soru
birkaç tane sorum olucak, belki bu sorulardan sonra birkaç tane daha sorum olur o yüzden hemen başlığı bırakp gitmezsek çok çok çok sevinirim :)
a c 2 3 4
b d 4 5 2
c b 6 2 3
d a 2 4 5
c b 3 4 4
d c 2 3 2
a d 3 3 4
gibi değerler var diyelim. böyle yaklaşık alt alta 1000 tane değer var ve en soldaki sütun sürekli olarak tekrar ediyor. mesela 50 tane a 100 tane b 500 tane c gibi.
istediğim şey; yalnızca 1. sütundaki "b"ler arasında 3. sütunda toplam kaç tane "2" değeri var. ya da 1. sütundaki "b"ler arasında 5. sütunda toplam kaç tane "4" değeri var. 2. sütundaki "a"lar arasında 5. sütunda toplam kaç tane "3" değeri var.
gibi gibi şeyleri saydırabilmek istiyorum başka bir sütuna.
ikinci soru: Başında boşluk olan sütunlar var. Başında boşluk olanların tamamının başındaki boşluğu nasıl yok edebilirim?
Bir de bu girdiğim değerlerin arasında boş satırlar var, bu boş satırları nasıl yok edebilirim?
a c 2 3 4
b d 4 5 2
c b 6 2 3
d a 2 4 5
c b 3 4 4
d c 2 3 2
a d 3 3 4
gibi değerler var diyelim. böyle yaklaşık alt alta 1000 tane değer var ve en soldaki sütun sürekli olarak tekrar ediyor. mesela 50 tane a 100 tane b 500 tane c gibi.
istediğim şey; yalnızca 1. sütundaki "b"ler arasında 3. sütunda toplam kaç tane "2" değeri var. ya da 1. sütundaki "b"ler arasında 5. sütunda toplam kaç tane "4" değeri var. 2. sütundaki "a"lar arasında 5. sütunda toplam kaç tane "3" değeri var.
gibi gibi şeyleri saydırabilmek istiyorum başka bir sütuna.
ikinci soru: Başında boşluk olan sütunlar var. Başında boşluk olanların tamamının başındaki boşluğu nasıl yok edebilirim?
Bir de bu girdiğim değerlerin arasında boş satırlar var, bu boş satırları nasıl yok edebilirim?
ilk sorun için countif fonksiyonu var.
Başlardaki boşluğu silmek için ilgili sütünu seç, "Find/replace" penceresini aç, replace tadına gel. Aranan kısmına space ile bir boşluk bırak, değiştirilecek kısmına ise bir şey yazma, replace all de.
edit : bu arada hücrelerde birden fazla kelime varsa aralardaki boşluğu da siler, haberin olsun
Başlardaki boşluğu silmek için ilgili sütünu seç, "Find/replace" penceresini aç, replace tadına gel. Aranan kısmına space ile bir boşluk bırak, değiştirilecek kısmına ise bir şey yazma, replace all de.
edit : bu arada hücrelerde birden fazla kelime varsa aralardaki boşluğu da siler, haberin olsun
- kimlanbu (27.11.11 11:07:32 ~ 11:09:37)
find replace ile silersem mesela " serdar ortaç"'taki aradaki boşluğu da silmiş olurum sorun çıkmış olur. başka bir yolu var mıdır ki
- calimdor (27.11.11 11:10:09)
eğersay ile bir türlü başaramadım yav acaba bir örnek verir misin, nette falan da bakındım ama.
1. sütundaki a'ların arasında 3. sütunu 2 olanları nasıl saydıracağımı beceremedim :S
1. sütundaki a'ların arasında 3. sütunu 2 olanları nasıl saydıracağımı beceremedim :S
- calimdor (27.11.11 11:20:53)
=TOPLA.ÇARPIM((B4:B15="efgh")*(D4:D15="abcd"))
b4:b15 hücreleri arasında değeri "efgh" olanlardan kaç tanesinin d4:d15 hücrelerinde "abcd" yazıyor.
Boşluk silme muhabbeti ise =KIRP(A2) ile yapabilirsin.
Doğru anlamışmıyım.?
b4:b15 hücreleri arasında değeri "efgh" olanlardan kaç tanesinin d4:d15 hücrelerinde "abcd" yazıyor.
Boşluk silme muhabbeti ise =KIRP(A2) ile yapabilirsin.
Doğru anlamışmıyım.?
- halilibo (27.11.11 11:23:38)
@halilibo
ben mi hata yaptım acaba anlamadım ama bu formül saydırmıyor nedense, baya çok da denedim ama neden olmadığını anlamadım ama saymıyor, tüm sonuçlara "0" değeri veriyor kendi kendine. allah allah :S
edit: çokeğersay diye bir komut'la hallettim sorunumu, aradığım şey oymuş. teşekkürler yardım için.
ben mi hata yaptım acaba anlamadım ama bu formül saydırmıyor nedense, baya çok da denedim ama neden olmadığını anlamadım ama saymıyor, tüm sonuçlara "0" değeri veriyor kendi kendine. allah allah :S
edit: çokeğersay diye bir komut'la hallettim sorunumu, aradığım şey oymuş. teşekkürler yardım için.
- calimdor (27.11.11 11:36:49 ~ 11:40:18)
makro arşivimden derleme yaptım :
temizlemek istediğin bölümü seç (tek sütun için çalışır)
bosluktemizle fonksiyonunu bir butona falan ata.
aşağıdaki kodlarıda modül ekleyip onun içine yetleştir
Public Sub bosluktemizle()
Dim satbas As Long, satbit As Long
Dim z As Integer
Dim sut, mytemp As String
satbas = Selection.Rows(1).Row
satbit = Selection.Rows.Count + satbas - 1
z = Selection.Columns(1).Column
sut = GetColumnLetter(z)
For x = satbas To satbit
If Left(Range(sut & x), 1) = " " Then
mytemp = Mid(Range(sut & x), 2, Len(Range(sut & x)) - 1)
Range(sut & x) = mytemp
End If
Next x
End Sub
Function GetColumnLetter(ColumnNumber As Integer) As String
If ColumnNumber < 26 Then
' Columns A-Z
GetColumnLetter = Chr(ColumnNumber + 64)
Else
GetColumnLetter = Chr(Int((ColumnNumber - 1) / 26) + 64) & _
Chr(((ColumnNumber - 1) Mod 26) + 65)
End If
End Function
temizlemek istediğin bölümü seç (tek sütun için çalışır)
bosluktemizle fonksiyonunu bir butona falan ata.
aşağıdaki kodlarıda modül ekleyip onun içine yetleştir
Public Sub bosluktemizle()
Dim satbas As Long, satbit As Long
Dim z As Integer
Dim sut, mytemp As String
satbas = Selection.Rows(1).Row
satbit = Selection.Rows.Count + satbas - 1
z = Selection.Columns(1).Column
sut = GetColumnLetter(z)
For x = satbas To satbit
If Left(Range(sut & x), 1) = " " Then
mytemp = Mid(Range(sut & x), 2, Len(Range(sut & x)) - 1)
Range(sut & x) = mytemp
End If
Next x
End Sub
Function GetColumnLetter(ColumnNumber As Integer) As String
If ColumnNumber < 26 Then
' Columns A-Z
GetColumnLetter = Chr(ColumnNumber + 64)
Else
GetColumnLetter = Chr(Int((ColumnNumber - 1) / 26) + 64) & _
Chr(((ColumnNumber - 1) Mod 26) + 65)
End If
End Function
- kimlanbu (27.11.11 11:55:06)
kanka bu makro işini beceremedim bir türlü. verdiğin her şeyi makro bölümüne yapıştırıyorum. bosluktemizle() kısmının parantez içine f10 yazıyorum, play tuşuna basıyorum yukarıda. create falan diye seçenek geliyor, kabul ediyorum falan filan.
ama sayfaya dönüp macro tuşuna astığımda uygulamıyor. burada yanlış bir şey yapıyorum ama makro kullanmayı bilmediğim için neyi yanlış yaptığımı anlayamıyorum
ama sayfaya dönüp macro tuşuna astığımda uygulamıyor. burada yanlış bir şey yapıyorum ama makro kullanmayı bilmediğim için neyi yanlış yaptığımı anlayamıyorum
- calimdor (27.11.11 12:07:23)
muhtemelen developer menüsü çıkmıyordur sende, bunu açmak için şu adımları izle :
www.asap-utilities.com
daha sonra developer menüsü çıkınca buradan view code'a bas, çıkan vba editör penceresinde insert/module de.
sonra module1 diye bir dosya eklediğini göreceksin, onun içine girip yapıştır kodları.
daha sonra developer menüsünden insert'e tıkla, bir buton ekle, zaten bir pencere çıkar hangi makroyu atamak istediğini sorar, boşluktemizle'yi seçersin
activex buton eklersen de butona çift tıkla ve çıkan kod penceresine kursorun durduğu yere
call bosluktemizle yaz.
www.asap-utilities.com
daha sonra developer menüsü çıkınca buradan view code'a bas, çıkan vba editör penceresinde insert/module de.
sonra module1 diye bir dosya eklediğini göreceksin, onun içine girip yapıştır kodları.
daha sonra developer menüsünden insert'e tıkla, bir buton ekle, zaten bir pencere çıkar hangi makroyu atamak istediğini sorar, boşluktemizle'yi seçersin
activex buton eklersen de butona çift tıkla ve çıkan kod penceresine kursorun durduğu yere
call bosluktemizle yaz.
- kimlanbu (27.11.11 12:14:43)
1