Excel Forum


Geri Git   Excel Forum > EXCEL-Soruları > Fonksiyonlar
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ

Fonksiyonlar Bir fonksiyonun, nasıl işlediğini veya aradığınız bir işleme uygun olup olmadığını bu başlık altında sorabilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama



Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 22-02-2010, 13:30   #1
qbilay06
Altın Üye
 
Giriş: 18/02/2009
Şehir: İstanbul
Mesaj: 90
Excel Vers. ve Dili:
Office 2013 Tr
Varsayılan Muhasebede ilk giren ilk çıkar mantığı

Merhaba ,
Örnek dosyada bankadar alınan ya da satılan fonlara dair tablolama bulunmaktadır.
Yardımınızı istediğim nokta ;
fon satış işleminde , o günün ihtiyaç duyulan TL si ve hesaptaki para miktarı ile o günkü fon'un kur rakamı girildiği zaman, kaç adet fon satılacağını gösteren ve gerekli hücreleri örnekteki gibi dolduran bir çözüm...

İçinden çıkamadığım kısım, ilk giren ilk çıkar mantığına göre ,satış işlemi yapılacağı zaman ilk alınan fon grubundan ilk önce satış yaptıramamak...
İlgilenen arkadaşlara şimdiden teşekkür ederim.
Saygılar...
Eklenmiş Dosyalar
Dosya Türü: rar ilk giren ilk çıkar.rar (16.4 KB, 151 Görüntülenme)
qbilay06 Çevrimiçi   Alıntı Yaparak Cevapla
Eski 23-02-2010, 09:35   #2
qbilay06
Altın Üye
 
Giriş: 18/02/2009
Şehir: İstanbul
Mesaj: 90
Excel Vers. ve Dili:
Office 2013 Tr
Varsayılan

Günaydın arkadaşlar,
bu dosyamdaki soruma bir türlü olumsuz da olsa yanıt alamıyorum. Eksik ya da yanlışım var ise en azından onu belirtebilecek bir üstad var mı acaba ?
Saygılar...
qbilay06 Çevrimiçi   Alıntı Yaparak Cevapla
Eski 23-02-2010, 10:34   #3
SEYKOK
 
Giriş: 17/04/2006
Mesaj: 86
Varsayılan

Biz de bir çalışma yapıyoruz. Bizim yaptığımız çalışma biraz daha karmaşık ama sizin aradığınız çözüm ekte var zannedersem
Eklenmiş Dosyalar
Dosya Türü: xls FATURA KAPATMA_Z(1).xls (66.0 KB, 88 Görüntülenme)
SEYKOK Çevrimdışı   Alıntı Yaparak Cevapla
Eski 23-02-2010, 11:17   #4
qbilay06
Altın Üye
 
Giriş: 18/02/2009
Şehir: İstanbul
Mesaj: 90
Excel Vers. ve Dili:
Office 2013 Tr
Varsayılan

Alıntı:
SEYKOK tarafından gönderildi Mesajı Görüntüle
Biz de bir çalışma yapıyoruz. Bizim yaptığımız çalışma biraz daha karmaşık ama sizin aradığınız çözüm ekte var zannedersem
Dosyayı inceleyeceğim. Teşekkür ederim...
qbilay06 Çevrimiçi   Alıntı Yaparak Cevapla
Eski 23-02-2010, 17:11   #5
qbilay06
Altın Üye
 
Giriş: 18/02/2009
Şehir: İstanbul
Mesaj: 90
Excel Vers. ve Dili:
Office 2013 Tr
Varsayılan

Alıntı:
qbilay06 tarafından gönderildi Mesajı Görüntüle
Dosyayı inceleyeceğim. Teşekkür ederim...
malesef sizin dosyanızı kullnarak da kendi dosyam için bir çözüm yolu bulamadım...sizdeki dosyada A B C D sabit iken ben de o günün kur rakamları veya kur adeti gibi değişken rakamlar mevcut olduğu için sizin eklentiniz ile çözüm sağlayamadım .
Yardımınız için tekrar teşekkür ederim.
konu hakkında farklı fikirleri yapabilecek arkadaşların yorumlarını heyecanla bekliyorum .
saygılar...
qbilay06 Çevrimiçi   Alıntı Yaparak Cevapla
Eski 24-02-2010, 09:26   #6
qbilay06
Altın Üye
 
Giriş: 18/02/2009
Şehir: İstanbul
Mesaj: 90
Excel Vers. ve Dili:
Office 2013 Tr
Varsayılan

günaydın ,
ilgilenen üstad var mı?
qbilay06 Çevrimiçi   Alıntı Yaparak Cevapla
Eski 24-02-2010, 10:20   #7
mancubus
Destek Ekibi
 
mancubus kullanıcısının avatarı
 
Giriş: 06/01/2010
Şehir: İ>S>T>A>N>B>U>L
Mesaj: 1,982
Excel Vers. ve Dili:
İŞ: 2010 Eng EV: 2013 Eng
Varsayılan

Merhaba.
mrexcel'de şöyle bir şey buldum.
belki fikir verebilir.

dönem başı stok rakamlarını alışlar tablosuna yazmak lazım.

test edilmiş (2003) örnek dosya ektedir.

alışlar (giren):
a : ürün kodu
b: miktar
c: birim fiyat

satışlar (çıkan):
e : ürün kodu
f: miktar
g: makro'nun hesapladığı birim fiyat

makrolar bu sütun başlıklarına göre yazıldığından sizin tablo farklı ise kodların buna göre değiştirilmesi gerekir.


Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Dim inTbl As Range, outTbl As Range

Sub fifo_test()
Dim x, y, t

Set inTbl = Range("a2")
Set outTbl = Range("e2")

x = 1
Do While outTbl.Offset(x, 0).Value <> ""
  t = 0
    If x > 1 Then
      For y = 1 To x - 1
        If outTbl.Offset(y, 0).Value = outTbl.Offset(x, 0).Value Then t = t + outTbl.Offset(y, 1).Value
      Next y
    End If
    outTbl.Offset(x, 2).Value = out_unit_cost(outTbl.Offset(x, 0).Value, t, outTbl.Offset(x, 1).Value)
    x = x + 1

Loop

End Sub




Function out_unit_cost(code, start, qty)

Dim i, r, s
i = 1
r = -start
s = 0

Do While inTbl.Offset(i, 0).Value <> "" And r <= start + qty
  If inTbl.Offset(i, 0).Value = code Then
    r = r + inTbl.Offset(i, 1).Value
      If r > 0 Then
        If inTbl.Offset(i, 1).Value > r Then
        s = s + r * inTbl.Offset(i, 2).Value
        ElseIf r > qty Then
        s = s + (inTbl.Offset(i, 1).Value - (r - qty)) * inTbl.Offset(i, 2).Value
        Else
        s = s + inTbl.Offset(i, 1).Value * inTbl.Offset(i, 2).Value
        End If
      End If
  End If
  i = i + 1

Loop

out_unit_cost = Round(s / qty, 2)

End Function
Eklenmiş Dosyalar
Dosya Türü: xls fifo test.xls (25.5 KB, 66 Görüntülenme)

Bu mesaj en son " 24-02-2010 " tarihinde saat 10:28 itibariyle mancubus tarafından düzenlenmiştir....
mancubus Çevrimdışı   Alıntı Yaparak Cevapla
Eski 24-02-2010, 10:27   #8
qbilay06
Altın Üye
 
Giriş: 18/02/2009
Şehir: İstanbul
Mesaj: 90
Excel Vers. ve Dili:
Office 2013 Tr
Varsayılan

Alıntı:
mancubus tarafından gönderildi Mesajı Görüntüle
Merhaba.
mrexcel'de şöyle bir şey buldum.
belki fikir verebilir.

dönem başı stok rakamlarını alışlar tablosuna yazmak lazım.

test edilmiş (2003) örnek dosya ektedir.

alışlar (giren):
a : ürün kodu
b: miktar
c: birim fiyat

satışlar (çıkan):
e : ürün kodu
f: miktar
g: makro'nun hesapladığı birim fiyat

makrolar bu sütun başlıklarına göre yazıldığından sizin tablo farklı ise kodların buna göre değiştirilmesi gerekir.


Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Dim inTbl As Range, outTbl As Range

Sub fifo_test()
Dim x, y, t

Set inTbl = Range("a2")
Set outTbl = Range("e2")

x = 1
Do While outTbl.Offset(x, 0).Value <> ""
  t = 0
    If x > 1 Then
      For y = 1 To x - 1
        If outTbl.Offset(y, 0).Value = outTbl.Offset(x, 0).Value Then t = t + outTbl.Offset(y, 1).Value
      Next y
    End If
    outTbl.Offset(x, 2).Value = out_unit_cost(outTbl.Offset(x, 0).Value, t, outTbl.Offset(x, 1).Value)
    x = x + 1
Loop
End Sub




Function out_unit_cost(code, start, qty)

Dim i, r, s
i = 1
r = -start
s = 0

Do While inTbl.Offset(i, 0).Value <> "" And r <= start + qty
  If inTbl.Offset(i, 0).Value = code Then
    r = r + inTbl.Offset(i, 1).Value
      If r > 0 Then
        If inTbl.Offset(i, 1).Value > r Then
        s = s + r * inTbl.Offset(i, 2).Value
        ElseIf r > qty Then
        s = s + (inTbl.Offset(i, 1).Value - (r - qty)) * inTbl.Offset(i, 2).Value
        Else
        s = s + inTbl.Offset(i, 1).Value * inTbl.Offset(i, 2).Value
        End If
    End If
  End If
  i = i + 1

Loop

out_unit_cost = Round(s / qty, 2)

End Function

Sayın mancubus,
İlginize teşekkür ederim. Kodlar hakkında detaylı bilgim olmasa da , örneğinizi kendi dosyama uyarlamaya çalışacağım.
Sağlıkla kalın.
Saygılar...
qbilay06 Çevrimiçi   Alıntı Yaparak Cevapla
Eski 24-02-2010, 10:47   #9
qbilay06
Altın Üye
 
Giriş: 18/02/2009
Şehir: İstanbul
Mesaj: 90
Excel Vers. ve Dili:
Office 2013 Tr
Varsayılan

Çok yazarak belki çok zıt bir görünüm çiziyorum ama en son gönderilen dosya ile de bir sonuç alamadım ... ):
tekrar teşekkür ediyorum...
qbilay06 Çevrimiçi   Alıntı Yaparak Cevapla
Eski 24-02-2010, 12:22   #10
mancubus
Destek Ekibi
 
mancubus kullanıcısının avatarı
 
Giriş: 06/01/2010
Şehir: İ>S>T>A>N>B>U>L
Mesaj: 1,982
Excel Vers. ve Dili:
İŞ: 2010 Eng EV: 2013 Eng
Varsayılan

fifo görünce onu aramıştım.

şimdi dosyanıza bakınca sizin aslında fifo yöntemini de bilen bir bütçe uygulamasına ihtiyacınız var.

tablonuz çok dağınık. bir yerden kopyaladığınız için mi böyle yoksa görüntü amaçlı siz mi yaptınız. İnce boş sütunları çıkarmanız hem tablo yapmanızı kolaylaştırır hem de uygulamaları.

Şöyle bir tablo organize edilebilir:

Tarih -- İşlem -- Adet -- Alış Fiyat -- Stok -- İhtiyaç -- Banka -- Satılacak -- Satış fiyatı --- Kümüle Kar
xxxx Alış 1000 5 1000


Satılacak = (İhtiyaç - Banka)/Satış Fiyatı

stok rakamını alış ve satış işlemine göre bakiye yürüterek if'li Offset formülü ile hesaplatmak mümkün.

FİFO'ya net kar için ihtiyaç var. Bu da excel'de ancak KTF (UDF) ile mümkün oluyormuş. Önceki mesajımda yer alan dosyadaki "kullanıcı tanımlı fonksiyon" belki ilham verebilir.

Umarım yardımcı olabilicek bir arkadaşımız çıkar.
mancubus Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 16:22


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.


Bahis Forum - Define - Çorlu Kamera - Çorlu Petek Temizleme - Site Yönetimi - TYPO3 Türkiye - 2015 Fuar - Çorlu Mimarlık - Çorlu Hotel - Rotary Web Sitesi - Çorlu Jeneratör - Shell Yağları - Excel Eğitimi - Çorlu Bilgisayar - ÇErkezköy Otelleri - Çorlu Otelleri - Çorlu Oto Lastik - Hurda Demir - Beyaz Baskı
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden