• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Saat dilimleri arası biçimlendirme

Katılım
10 Ekim 2010
Mesajlar
13
Excel Vers. ve Dili
office 2013
Arkadaşlar merhaba,
excell'de aşağıda belirtilen saatler arasında yer alan vardiya türüne göre formüle etmek istiyorum. Bir kaç deneme yaptım fakat sanırım beceremedim.
kısacası saat verisinin olduğu yerden aldığı saat bilgisine göre diğer bir satırda A yada B yada C yazmasını istiyorum.
teşekkürler.

24:00:00 8:00:00 A
8:00:00 16:00:00 B
16:00:00 24:00:00 C

16:01:21
18:43:07
23:05:36
20:42:02
22:29:57
01:09:38
07:29:05
12:50:32
05:39:58
23:33:58
07:07:50
15:37:42
09:08:51
15:48:58
 
Merhaba.

Basit düşünmekte yarar var. Saat verisi A1 hücresinde ise;
(Elbette birçok alternatif formül oluşturulabilir)
.
Kod:
=[COLOR="red"]EĞER[/COLOR](A1>=[COLOR="Blue"]16/24[/COLOR];"C";[COLOR="red"]EĞER[/COLOR](A1>=[COLOR="blue"]8/24[/COLOR];"B";[COLOR="Red"]EĞER[/COLOR](A1>=[COLOR="blue"]1/24[/COLOR];"A";"")))
 
.

Saatler A1 hücresinden aşağıya doğru ise;

B1 hücresine:

İngilizcesi;

Kod:
=LOOKUP(A1;{0;0,3333;0,6667};{"A";"B";"C"})
Türkçesi:

Kod:
=ARA(A1;{0;0,3333;0,6667};{"A";"B";"C"})

yazıp, aşağıya doğru kopyalayın.



.
 
Alternatif,
Saat aralığı aynı hücrede ise
Kod:
=EĞER(VE(YUVARLA(PARÇAAL(A1;1;BUL(" ";A1))+0;2)>=1;YUVARLA(KIRP(PARÇAAL(A1;BUL(" ";A1);UZUNLUK(A1)))+0;2)<=0,33);"A";EĞER(VE(YUVARLA(PARÇAAL(A1;1;BUL(" ";A1))+0;2)>=0,33;YUVARLA(KIRP(PARÇAAL(A1;BUL(" ";A1);UZUNLUK(A1)))+0;2)<=0,67);"B";EĞER(VE(YUVARLA(PARÇAAL(A1;1;BUL(" ";A1))+0;2)>=0,67;YUVARLA(KIRP(PARÇAAL(A1;BUL(" ";A1);UZUNLUK(A1)))+0;2)<=1);"C")))
 
Arkadaşlar hızlı yanıtlarınız için ayrıca teşekkür ederim, belirtmiş olduğunuz gibi saat formülü çalıştı fakat farklı bir veri tabanından gelen bilgi de şu şekilde aynı formülü buna nasıl uygularım.

Aynı satır içerisinde ilk önce tarih sonra saat bilgisi gelmekte formülü sadece saat bilgisine göre entegre edebilir miyiz ?
şimdiden çok tşk.

18.4.17 15:48
19.4.17 6:54
17.7.17 18:28
4.4.17 15:48
22.3.17 2:00
 
Hangi formülü kullanıyorsanız o formülde A1 yerine MOD(A1;1) yazarak deneyin.
Sorun yaşarsanız gerçek verilerden oluşan bir örnek belge yükleyin.
 
Merhaba,
Belirtilen şekilde excell verisi üzerinde sürekli çalışma yapmam gerekiyor. Kısaca yapmak istediğim gelen ham veri içerisinde gruplama yapabilmem
için stok no kolonunda yer alan aynı malzemeleri farklı bir satırda Neden açıklamalarını alt alta aynı hücre içerisinde gruplamak istiyorum.
Normalde bu işlemi excell dosyasında filtre kısmından her bir stok numarasını seçerek word üzerinde hücre birleştirerek yapmak zorunda kalıyorum.
Bunun için bir formül oluşturabilir miyiz.
Yardımlarınız için şimdiden çok teşekkür ederim eğer bu işi halledebilirsem ciddi zaman kazanımım olacak. :)

Örnek: Stok no kolonunda yer alan aynı iki kod formül ile yeni bir hücrede neden kısımları alt alta olacak şekilde birleştirilecek.

Stok No Neden
4410900025 110801014 nolu matbuat grubu
4410900051 100172 soket
4410900088 157240689 nolu
4410900088 157240689 nolu
4410900088 157240689 nolu düğme
 
maalesef pivot ile olmuyor. Belirttiğim gibi gelen veriyi boş bir satır içerisinde stok no bilgisine göre açıklamaları aynı hücrede birleştirmek istiyorum. Çünkü gelen verilerin içerisinde bu ve bunun gibi bir çok data yer almakta. Bazıları tek bazıları da aynı stok olmak kaydı ile birden fazla gelebiliyor. İstediğim işlemi yapabilirsem bunları kopyalayarak farklı bir rapor formatı altında toplayacağım.
Teşekkürler.
 
merhaba,
Henüz altın üyeliğim olmadığı için maalesef dosya ekleyemiyorum.İstediğim formülü kısaca biraz daha net açıklamaya çalışayım.Örnek A kolonunda yer alan 10 haneli sayısal kodlar alt alta bir veya birden fazla satır halinde olabiliyor, ama hemen yan kolonda ise farklı bir text yer alıyor. Kısaca aşağıya doğru yer alan stok kodları yanında yer alan textler formülü aşağıya doğru sürükleyince tek bir hücrede yer alacak.
Örnek
A Kolonunda yer alan 4410900088 stok nolu malzeme alt alta 3 kez tekrarlamış fakat B kolonundaki açıklamaları farklı. Ben bunları sağ tarafta bir formül oluşturarak 4410900088 stoğunun yanındaki kolonda 157240689 nolu-157240689 nolu- 157240689 nolu düğme vb.açıklamaları aynı hücrede birleştirilmiş olarak düzenlemesini istiyorum.
Anlatabildim mi bilmiyorum ama ilginiz için çok teşekkür ederim.
Stok No Neden
4410900025 110801014 nolu matbuat grubu
4410900051 100172 soket
4410900088 157240689 nolu
4410900088 157240689 nolu
4410900088 157240689 nolu düğme
 
Merhaba.

ALTIN ÜYELİK öneriyorum ancak, örnek belge yüklemek için ALTIN ÜYELİK gerekmiyor.

Örnek belge özellikleri ve örnek belge yükleme yöntemine ilişkin açıklama cevabımın altındaki İMZA bölümünde var.

Aşağıdaki kod, istediğiniz işlemi yapmazsa; bir örnek belge yükleyin ki onun üzerinden bakılsın.
Birinci satırın BAŞLIK satırı olduğu, verilerin 2'nci satırdan itibaren yer aldığını varsaydım.
-- Alt taraftan uygulama istediğiniz sayfanın adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin,
-- Açılan VBA ekranında sağ taraftaki boş alana aşağıdaki kod'u yapıştırın,
-- Kod'u çalıştırın.
.
Kod:
[B]Sub AYNILARI_BIRLESTIR()[/B]
Application.ScreenUpdating = False: Application.Calculation = xlCalculationManual
son = Cells(Rows.Count, 1).End(xlUp).Row: Range("C:C").ClearContents
For sat = 2 To son
    If WorksheetFunction.CountIf(Range("A:A"), Cells(sat, 1)) = 1 Then
        Cells(sat, 3) = Cells(sat, 2): GoTo 10
    Else
        Range("A1:C1").AutoFilter Field:=1, Criteria1:=Cells(sat, 1)
            For Each brn In Range("B" & sat + 1 & ":B" & son).SpecialCells(xlCellTypeVisible)
                satt = brn.Row
                metin = metin & " - " & brn.Value
            Next
        Cells(sat, 3) = Cells(sat, 2) & metin
        metin = "": sat = satt
    End If
10: Next
Range("A1:C1").AutoFilter Field:=1
Columns("A:C").AutoFit
Application.ScreenUpdating = True: Application.Calculation = xlCalculationAutomatic
MsgBox "İşlem Tamamlandı.", vbInformation, "..::.. Ömer BARAN ..::.."
[B]End Sub[/B]
.
 
Merhaba,
Makro gerçekten çok işime yaradı, elinize sağlık çok teşekkürler. Yardımlarınız sayesinde günlük rutin olarak yapmış olduğum bu işte kayda değer bir zaman kazanımım oldu. Tekrar tşk.
 
Ömer Bey merhaba,
Bitmek bilmeyen taleplerimden sıktıysam özür dilerim :) makro hayli işime yaradı dosyamda bazı değişiklikler yaptım. Makro sorunsuz çalışıyor fakat aynı stok numarasına sahip hücreler birleştirildiğinde metin sıralaması yan yana geldiğinden biraz karışık görülüyor. Acaba birleştirilen satırlar aralarına " - " yerine bir alt satıra geç şeklinde macroya kısa bir ilave yapılabilirmi ?

Sub AYNILARI_BIRLESTIR()
Application.ScreenUpdating = False: Application.Calculation = xlCalculationManual
son = Cells(Rows.Count, 1).End(xlUp).Row: Range("AS:AS").ClearContents
brn = 0
For sat = 2 To son
If WorksheetFunction.CountIf(Range("B:B"), Cells(sat, 2)) = 1 Then
Cells(sat, 46) = Cells(sat, 10):
GoTo 10
Else
Range("A1:AS1").AutoFilter Field:=2, Criteria1:=Cells(sat, 2)
For Each brn In Range("J" & sat + 1 & ":J" & son).SpecialCells(xlCellTypeVisible)
satt = brn.Row
metin = metin & " - " & brn.Value
Next
Cells(sat, 46) = Cells(sat, 10) & metin
metin = "": sat = satt
End If
10:
Next
Range("A1:AS1").AutoFilter Field:=2
Columns("A:AS").AutoFit
Application.ScreenUpdating = True: Application.Calculation = xlCalculationAutomatic
MsgBox "İşlem Tamamlandı.", vbInformation, "..::.. Ömer BARAN ..::.."
End Sub
 
Ömer Bey merhaba,
.....Acaba birleştirilen satırlar aralarına " - " yerine bir alt satıra geç şeklinde macroya kısa bir ilave yapılabilirmi ?

Sub AYNILARI_BIRLESTIR()
......................
satt = brn.Row
metin = metin & Chr(10) & brn.Value
Next...............
Merhaba.

Önce bir uyarı; mesaj yazarken kod verecekseniz, kod'u kopyaladıktan sonra,
mesaj yazma alanının sağ üst kısmında yer alan # simgesine tıkladığınızda çıkacak [ CODE ].....[ / CODE ] blokunun arasına yapıştırın.
Böylece forum sayfasının görünümü daha kullanışlı olur.

Sorunuzun cevabına gelince; yukarıda sorunuzdaki kırmızı olarak işaretlediğim kısmı değiştirmeniz yeterli olması lazım.
.
 
Merhaba,
İlgili macroda hangi veriyi hangi satırdan alacağı gibi küçük değişiklikler yaptım ve sorunsuz bir şekilde çalışıyor.
İlave olarak bir eklenti daha yapmak mümkünmü acaba?
ekte yer alan macro stok no satırında alt alta tekrarlayan var ise diğer yan satırlarda bulunan açıklamaları "AT" hücresinde tek hücre olacak şekilde düzenliyor.
ilave olarak yapmak istediğim şey "K"kolonunda yer alan KALİTE HATASİ-BİLGİ BLOKESİ-EKSİK ÜRÜN-DENEME gibi açıklamalar yer almakta bunlar herbir
stok numarası için aynıda olabilir veya her satırda bir diğeri de yer alabilir.Tam olarak istediğim bir önceki macrom AT kolonuna aynı olanları
tek hücre olacak şekilde birleştiriyor.Hemen yan satırlara aşağıda yer alan kurallar çerçevesinde tek bir tanımlama olacak şekilde yazdırmak mümkünmü acaba?
örnek bir dosya ekledim.
şimdiden yardımlarınız için çok teşekkürler.

http://s6.dosya.tc/server11/nbimgd/H.xlsx.html


"B" kolonunda yer alan stok numaralara göre "K"kolonunda yer alan kelimelere göre "AU"kolonuna yazacak

*Eğer stok no satırı tek ise K kolonundaki metin aynı olacak(birden fazla tekrar eden stok no satırı aynı metine sahip ise)

*Eğer Kalite hatası-Eksik Ürün-Deneme-Bilgi blokesi metni var ise "Eksik ürün-Kalite hatası" yazacak.

*Eğer Kalite hatası-Deneme-Bilgi blokesi var ise "Kalite hatası" yazacak.

*Eğer Kalite hatası-Eksik Ürün ifadesi var ise "Eksik ürün-Kalite hatası" yazacak.

Mevcut kullandığım macro:
Kod:
Sub AYNILARI_BIRLESTIR()
Application.ScreenUpdating = False: Application.Calculation = xlCalculationManual
son = Cells(Rows.Count, 1).End(xlUp).Row: Range("AS:AS").ClearContents
brn = 0
For sat = 2 To son
    If WorksheetFunction.CountIf(Range("B:B"), Cells(sat, 2)) = 1 Then
    Cells(sat, 46) = Cells(sat, 10):
    GoTo 10
    Else
        Range("A1:AS1").AutoFilter Field:=2, Criteria1:=Cells(sat, 2)
            For Each brn In Range("J" & sat + 1 & ":J" & son).SpecialCells(xlCellTypeVisible)
                satt = brn.Row
                metin = metin & Chr(10) & brn.Value
            Next
        Cells(sat, 46) = Cells(sat, 10) & metin
        metin = "": sat = satt
    End If
10:
Next
Range("A1:AS1").AutoFilter Field:=2
Columns("A:AS").AutoFit
Application.ScreenUpdating = True: Application.Calculation = xlCalculationAutomatic
MsgBox "İşlem Tamamlandı.", vbInformation, "..::..Ömer Baran ..::.."
End Sub
 
Son düzenleme:
Geri
Üst