Google Spreadsheet Query Function: Use real SQL on your spreadsheets


Just like this:

=query(Yevmiye!$A$2:$I$1004;“select sum(H) WHERE D=’”&A11&“’ label sum(H) ”“)

D is a column head. Ignore label statement. Sum(H) is the column which will be subject of query.

The formula gives sometimes #N/A due to result of SQL query is null. To be able to overcome it just wrap your function with iferror(param1,param2) function. if the first param1 gives error, function will threat param2 (in this case 0)

=iferror(query(Yevmiye!$A$2:$I$1004;"select sum(H) WHERE D=’”&A11&“’ label sum(H) ”“) ,0)

Enjoy

Reklamlar

Google Spreadsheet Query Function Makes your Spreadsheets DB which SQL-ready


When you want to make complex queries over Excel sheet that is almost impossible. Yet by Google Docs Spreadsheet Query() function you  can write SQL and retrieve whatever you want.

For instance:

=query(A2:I1000;“select sum(H)  WHERE D=‘mrkt’”) 

Gets only expenditures which about ‘mrkt’ (market) from A2:ı10000 TABLE then gets sum.

When you write function by this way, the function returns extra header. You can remove it:

=query(A2:I1000;“select sum(H) WHERE D=’mrkt’ label sum(H) ”“)

Enjoy.

Google App Script ile e-tablo (spreadsheet) ile entegre zengin form oluşturma


Google App ile excel tablolarının Google dökümanlardaki muadili olan Google e-tablolara entegre formlar yazabiliriz:
Aşağıdaki gibi:

Bunu oluşturabilmek için Araçlar> Komut dosyası yöneticisini kullanıyoruz.
Aşağıdaki gibi kodlarımızı yazıyoruz:
Kodlarımızı yazdıktan sonra üçgene basarak form_goster fonksiyonumuzu çalıştırınca ilk resimdek form çıkıyor. Bu forma girilen veri form_isle fonksiyonu ile A1 hücresine yazdırılacak.
Açıklamalı kodlarımız aşağıda:

function form_goster() {
  //Uygulama oluştur
  var app=UiApp.createApplication();
  app.setTitle(“Suat Google Apps Form”);
  //panel oluştur
  var panel=app.createVerticalPanel();
  //texbox oluştur
  var tf=app.createTextBox();
  //Ekle butonu oluştur
  var bt=app.createButton(“Ekle”);
  //oluşturulan texbota isim ata
  tf.setName(“ad”).setId(“ad”);
  
  //bu elemanları panele yerlestir
  panel.add(tf);
  panel.add(bt);
  
  //form submit edilince yapilacak islem
  var formtetik=app.createServerHandler(“form_isle”);
  //tetigi butona atadik
  bt.addClickHandler(formtetik);
  //is bitince panele don.
  formtetik.addCallbackElement(panel);
  
  //paneli de uygulamaya yerlerstir
  app.add(panel);
  
  //uygulamayi goster
  var doc=SpreadsheetApp.getActive();
  doc.show(app);
  
}
function form_isle(e){
  //calisan uygulamay ele al
  var app=UiApp.getActiveApplication();
  //formdan gelen veriyi cek
  var formdan_gelen_ad=e.parameter.ad;
  //bu veriyi ne yapalim. alip A1’e yazdiralim
  var sheet=SpreadsheetApp.getActiveSpreadsheet();
  sheet.getRange(“A1”).setValue(formdan_gelen_ad);

}

İlk Google App Script Uygulamam


Google Drive (Docs) kullanıyorsanız excel makroları muadili olarak kullanılan ve saf Javascriptle yazılan “Google App Script” kodlamayla üstün ve karmaşık işlemler yapabilirsiniz. Buna mail gönderimi, google data servislerine erişim de dahildir. Bu yönüyle excel makrolarından daha fazla şey vadediyor. Ve daha kolay…
Script A1 hücresindeki değeri alıp kdv’sini hesaplayıp B1’e yazıyor.

İşte ilk scriptim:

function kdv_hesapla(deger) {
  var kdv=deger*0.18;
  return kdv;
}
function run(){
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var sheet=ss.getSheets()[0];
      
  var kaynak=sheet.getRange(“A1”);
  var hedef=sheet.getRange(“B1”);
  var deger=kdv_hesapla(kaynak.getValue());
  hedef.setValue(deger)
      
}

Excel makroları içinde gelişmiş denetimli formüller yazma


Bazen excel’deki formüllerin yetmediği durumlar olabilir. Mesela içiçe 5 eğer fonksiyonu veya karmaşık matematiksel hesaplamalar gibi. Bu durumlarda excel makrolarını kullanabilirsiniz.
Aşağıdaki ekte bulunan makro bundan evvel  şu makalede anlattığımız python ile yaptığımız parasal değere karşılık risk analizi yapan formülasyonun  excel makrosu dili (VBA) ile yazılmış halidir.
Şu adresten indirip makro alanına import edebilirsiniz.
https://docs.google.com/open?id=0B2QbjSFSlgaMX2NJWkU2U0dhT28

Makro kaynak kodları ise şöyle:

Sub VeriKontrol()
    ‘For dongumuzu acalim
    For i = 1 To 99
        ‘Parasal degerimizi tanimliyoruz
        Dim parasal_deger As Long
        ‘Sonra bu degere A1,A2,A3… hucremizden aldigimiz degeri atiyoruz her seferinde
        parasal_deger = Range(“A” & i)
        
        ‘Parasal degerimizi checkediyoruz.
        ‘Bunun icin parasal degeri x sayalim
        Dim x As Long
        x = parasal_deger
        ‘Risk degerimizi varsayian olarak 0 atayalim
        Dim risk As Integer
        risk = 0
        ‘If blogumuz pythondaki : yerine Then ve sonda Endif kullandik
        If x > 10000 And x
            risk = 1
        ElseIf x > 100000 And x
            risk = 2
        ElseIf x > 500000 And x
            risk = 3
        ElseIf x > 1000000 And x
            risk = 4
        ElseIf x > 2000000 Then
            risk = 5
        Else:
            risk = 0
        End If
        ‘Simdi hesaplanan risk degerimizi B sutunumuza siraliyoruz
        Range(“B” & i) = risk
        ‘For dongumuzu guzel guzel next ile devam ettiryoruz
        Next i
End Sub

Excel’de hücre içinde alt satıra nasıl geçilir?


Bir excel tablosunda herhangi bir hücrenin içi yazılırken, varsayılan olarak yazı yazılmaya devam edildikçe tek satır olarak uzar ve devam eder.  Hücrede yazı yazma tamamlanıp el çekilince yazı hücrenin boyu ne kadarsa o kadarlık kısma kadar görünür. Ancak bazen bazı excel tablolarında hücre içine alt satıra geçmek gerekebilir. Bunu bazı kişiler el alışkanlığı ile yazıyı iki yana yaslayarak da yapsa da daha kolay bir yöntem vardır.

Hücrenin içinde yazınızın alt satıra geçmesini istediğiniz yerde

Alt+Enter

tuş kombinasyonuna basarak yazınızın alt satırdan devam etmesini sağlayabilirsiniz.

WordPress.com'da Blog Oluşturun.

Yukarı ↑