Kavramı göstermek için bir şeyi bir araya getirdim. Bunun, dizi formülleriyle büyük ölçüde uyumlu olabileceğine eminim, ancak hızlı ve takip etmesi kolay gidiyordum.

Yapının açıklaması
A ve B sütunları örnek verilerinizdir. Her satıra mağaza kimliğini eklediğimi unutmayın. Verilerin şifrelenmesi durumunda bu iyi bir uygulamadır ancak gerekli değildir. Her mağaza için günlere göre kapanma süreleri istiyorsunuz ve mağazalarda çok sayıda kayıt var, bu yüzden sonunda her gün bir giriş içerecek bir mağaza özet satırı ekledim. Özet satırları çıktınızın ayrı bir "raporunda" olabilir.
Görev, günlük bilgileri kullanılabilir forma dönüştürmeyi gerektirir ve bu bir karışıklıktır. Kayıtlarınızı ayrıştırmak için formül yazmaya çalışmak, çeşitli biçimlerde verilen bir kabustur. Bunun yerine kullandığım yaklaşım, karşılaştığınız sırada bir "gün" ifadeleri listesi oluşturmak ve her bir cümleyi bir kez elle çevirmektir.
Bu aynı zamanda en düşük ortak payda öbeklerini kullanarak birkaç girdi kaydetmenizi sağlar. Örneğin, ilk örnekte üç harfli gün kısaltmaları kullandınız, ikincisinde ise "Perşembe" kullandınız. "Pzt-Per" kullanmak her iki durumda da eşleşir.
Gün aralıklarınızın çoğu tirelenir, ancak "Fri & Sat" için "&" kullandınız. Ayrıca bir "Fri-Sat" olabileceği ihtimaline göre, listeye yeni bir giriş yaptım.
Büyük küçük harflerin tümü aynı değilse, el ile temizleyebilir veya her şeyi büyük veya küçük harfe zorlamak için metin işlevlerini kullanabilirsiniz.
Bu ekran görüntüsünde bazı sütunları geçici olarak gizledim. Gün tümcesi listesi, 1. satırdaki gün ifadeleriyle birlikte N sütununda başlar. İhtiyaç duyduğunuzda bir sonraki sütuna başka bir cümle ekleyin. Satır 2, standart Excel günü numaralandırmasını kullanarak ifadeyle ilişkilendirilmiş gün listesini içerir. 0 gün tatil yaptım (Ekran görüntüsümde görünmediğini görüyorum, ancak S2 olur 0. Pzt / Çar / Cuma 246 olur.
İlk formül
Günlük çevirilerin altındaki hücrelerin tümü aynı formülü kullanır, bu nedenle gerektiği gibi kopyalayıp yapıştırın:
=IF(ISERROR(FIND(N$1,$B3)),"",N$2)
Bu, o satırın program kaydındaki sütun başlığının gün ifadesini arar. İfade bulunursa, hücre dahil edilen gün listesini satır 2'den alır, aksi takdirde boştur. Bu yüzden her bir program kaydı için bir cümlenin eşleşmesi gerekir ve bu satır için gösterilecek olan günlük listedir.
Yardımcı Sütunlar

Bu ekran görüntüsü, açıklamayı basit tutmak için iki yardımcı sütun ortaya koyuyor. L sütunu gün listesini özetler. Sadece bir eşleşen giriş olacak ve bu sadece onu birleştiriyor. L3 hücresi şunları içerir:
=SUM(N3:AB3)
Aralığı istediğiniz kadar büyük yapabilirsiniz, böylece her gün ifadesini her eklediğinizde ayarlamanıza gerek kalmaz. Gerektiği gibi sütun aşağı kopyalanabilir.
K sütunu, program kaydından çıkarılan yakın süreyi içerir. L3'teki formül:
=IF(ISBLANK(B3),"",REPT(MID(B3,LEN(TRIM(B3))-5,1),IF(MID(B3,LEN(TRIM(B3))-5,1)="1",2,1))&":00pm")
Bunu ayrıştırmanın herhangi bir yöntemi dağınık olacaktır, çünkü zamanlar farklı rakamlara sahiptir. Bu formül kapanış saati birim hanesini bulur. Eğer öyleyse bu o bir kez kullanır 6veya 9ve tekrarlar 1zaman olup olmadığını 11. Daha sonra ": 00pm" i birleştirir. Bir ISBLANK testi ekledim, çünkü düzenimde bazı boş satırlar var.
Günlere göre kod çözme
Bu bizi sorunun etine getiriyor.

Bu ekran görüntüsü haftanın her günü ve tatiller için bir sütun ortaya koymaktadır. Yine, özet satırları dışındaki tüm hücreler için kullanılan tek bir formül vardır. C3 hücresi şunları içerir:
=IF(ISERROR(FIND(COLUMN()-3,$L3)),"",$K3)
Örneğim, üçüncü sütundaki günleri başlatıyor ve bunlardan ilki, 0. gün olarak kodlanan Tatiller. Bu formül, sütunla ilişkilendirilen gün sayısını hesaplar ve bu satırın gün listesinde olup olmadığını kontrol eder. Öyleyse, satır için çıkarılan zaman değerini alır, aksi takdirde boş bırakılır. Yani kaydın günü cümlesindeki her gün kaydın kapanma zamanını alıyor. O satırın programına dahil olmayan günler hiçbir şey alamaz.
Haftanın günlük programının tamamı, o mağaza için satırların birleştirilmesidir. Özet satırları başka bir yerde ise, her bir özete giden satırları tanımlamak için mağaza kimliğini kullanabilirsiniz.
Bu konsept demosu için özet satırından hoşlanmadım. C5 hücresi:
=C3&C4
C11 hücresi:
=C7&C8&C9&C10
Bu, satır sayısına göre otomatikleştirilebilir veya bileşen satırlarını birleştirmek yerine doğrudan özet satırı oluşturulabilir.