[]

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?

 
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
  • 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
  • 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.?
  • 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.
  • 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
  • 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
  • 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.
  • kimlanbu  (27.11.11 12:14:43) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.