Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm
Excel hücrelerini metne sığdırmak için güncel bilgileri ve 4 kolay çözümü keşfedin.
Bugünkü blogda, Access Analytic'in Start Stop Challenge'ına LuckyTemplates kullanılarak tarihler arası toplam çalışma saatlerinin hesaplanacağı bir yaklaşım göstereceğim . Bu eğitimin tam videosunu bu blogun alt kısmında izleyebilirsiniz .
Görev, her ay ve tarihte bir personelin toplam saat sayısını hesaplamaktır. Ayları geçebilen ve olası yazım hatalarını ele alarak durumu dikkate alan başlangıç ve bitiş tarihleri sundum.
İçindekiler
LuckyTemplates Tarihler Arası Çalışma Saatleri İçin Veri Kümesi
Power Query düzenleyicisine gidelim.
İşte bu meydan okuma için verilerimiz. Personel Adı, Başlangıç Tarihi, Başlangıç Saati, Bitiş Tarihi, Bitiş Saati ve Durum için sütunlar içeren bir tablomuz var.
Satırları Filtreleme
Satırları durumlarına göre seçerek başlayalım ve Sorgu düzenleyicisi bu mantıkta bize yardımcı olabilir. Durum'un yanındaki açılır oka tıklayın . Metin Filtreleri'ni seçin ve Şununla Başlamaz'ı seçin.
Açılan Filtre Satırları penceresine “e” yazın. Ardından Tamam'ı tıklayın .
Henüz hiçbir şey olmayacak ve sorun değil çünkü verilerimizde küçük harf “e” ve büyük harf “E” ile başlayan “Hariç Tut” yazıyoruz.
Bunu düzeltmek için isteğe bağlı üçüncü Text.StartsWith parametresini kullanacağız . Formül çubuğunda, Text.StartsWith işlevinin sonuna gidin . Bir virgül ekleyin ve Comparer.OrdinalIgnoreCase dosyamıza girelim . Onay işaretini tıklayın; bu, Hariç Tut satırlarını kaldırmalıdır .
Elbette, başında "E" olmadan yanlışlıkla "Hariç Tut" yazan birine sahip olabiliriz. Bu durumda, duruma uygun bazı ek mantıklar yaratabiliriz.
Fonksiyonumuzu genişleterek ve Text.Contains kullanarak kelimenin "X" içerip içermediğini test edebiliriz . Bunu yapmak için veya Text.Contains ([Status], "x", Comparer.OrdinalIgnoreCase .
İlk maddeyle karşılaştırıldığında, "e"yi "x" ile değiştirdiğimize dikkat edin. Davayı görmezden gelmeye devam ediyoruz ve her iki cümlemizin etrafına bir dizi parantez sarıyoruz. Onay işaretini tıklayın ve Hariç Tut veya Hariç Tut durumunu içeren satırların olmadığı bir tablo almalıyız .
Özel Sütun Ekleme
Şimdi bu meydan okumanın ana kısmına geçelim. Kullanıcı arayüzünü kullanarak özel bir sütun ekleyeceğiz ve ardından düzenleyiciye geçeceğiz.
Tablonun sol üst köşesindeki mini tablo simgesiyle başlayın . Üzerine tıklayın ve açılır menüden Özel Sütun Ekle öğesini seçin .
Bu noktada, yalnızca daha sonra ihtiyaç duyacağımız verileri getirmekle ilgileniyoruz. Birden çok alanla çalışacağımız için, köşeli parantezlerle gösterilen kayıt başlatıcıları kullanarak bir kayıt oluşturalım.
Değişkenler oluşturalım ve mevcut sütunları atayalım. Başlangıç Tarihine eşitleyeceğimiz SD yazarak başlayın . Bunu sağdaki sütunda Başlangıç Tarihi'ne tıklayarak yapabiliriz .
Sırasıyla Start Time, Stop Date ve Stop Time'a atanacak ST, ED ve ET değişkenleri için de aynısını yapacağız . Ardından, bir kapanış paranteziyle kaydı kapatın. Tamam'ı tıklayın .
Tabloya kayıtları içeren özel bir sütun eklenecektir. Record'un yanındaki beyaz alana tıklayın ve bir önizleme bölmesi açılacaktır. Bu, bu satırdaki tüm değerleri getirecektir.
LuckyTemplates Tarihler Arası Çalışma Saatleri: Değişkenler
Daha sonra Advanced Editor penceresinden değişkenlerimizi formatlayabiliriz . Gelişmiş Düzenleyici penceresi bu şekilde görünmelidir.
Ardından, değişkenlerimizi ayrı yeni satırlara koyalım.
Artık ihtiyacımız olan mantığı genişletebiliriz. Yani burada bir kayıt yerine iç içe bir let ifadesi de kullanabiliriz. Birden çok değişkenimiz veya kendilerine atanmış değerlere sahip alan adlarımız olduğu için bunlardan herhangi birinin işe yarayacağını unutmayın.
Başlangıç Tarihimiz şu anda bir metin değeri olarak yazılıyor ve bunu uygun bir tarih biçimine dönüştürmemiz gerekiyor. Bunu yapmak için Date.FromText işlevini etrafına sarın.
Yine string olarak formatlanan Start Time için onu bir sayıya çevirmemiz gerekiyor. Ardından, ondalık basamakları kaldırmak için yüze bölebilir ve yuvarlayabiliriz.
Number.From fonksiyonunu kullanarak Start Date değerimizi 100'e bölün . Ardından, bunları bir sonraki işlev olan Number.Round içine sarın ve ondalık basamaklar olmadan yuvarlamak için sonuna , 0 ekleyin.
Bitiş Tarihi ve Bitiş Saati için , sırasıyla Başlangıç Tarihi ve Başlangıç Saati'nde sahip olduğumuz işlevlerin aynılarını kopyalayacağız ve bunları uygun değişkenlerle değiştireceğiz.
Değişkenler uygun şekilde biçimlendirildikten sonra, bazı ek mantık için kaydımızda başka bir alan oluşturun. Enter tuşuna basarak yeni bir satır oluşturun .
İlk tarihten bitiş tarihine kadar bir tarih listesi oluşturmamız gerekiyor. Bu tarihlere LD diyeceğiz ve List.Dates işlevini kullanacağız .
Bu işlevin ilk parametresi, SD'miz olacak tarih olarak başlangıçtır . Daha sonra sayı olarak veya başlangıç tarihi ile bitiş tarihi arasındaki farkı ister . Bunu, Number.From işlevini ve ardından ( ED – SD) + 1'i kullanarak alabiliriz . "+1"in sonraki ekran görüntülerinde gösterilmediğini, ancak bir +1 olması gerektiğini unutmayın .
Üçüncü parametre ise süre olarak adım olarak adlandırılıyor ve bir günlük artış istiyoruz. Bunu Duration.From (1) kullanarak elde edebiliriz .
İlk başlangıç tarihinden bitiş tarihine kadar olan tarihleri içeren bir liste oluşturduk. Bundan sonra istediğimiz şey, bununla birlikte giden zamanların bir listesini oluşturmak.
Liste süreleri için buna LT diyelim . LT, birden fazla güne yayılmasından biraz farklı bir mantık gerektiren tek bir günlük bir gün periyoduna sahip olabilir. Yani bu, bunun için bir koşul yaratmamız gereken bir şey.
Koşulun "eğer başlangıç tarihimiz bitiş tarihimizle aynıysa, bitiş zamanı eksi başlangıç zamanı" demesini istiyoruz. Sonuçlar bir format listesinde olmalıdır, bu nedenle {} ile temsil edilen liste başlatıcıyı kullanırız .
Şimdi, birden fazla günü kapsayan bir tarih aralığımız varsa, o zaman ilk tarih 24 eksi başlangıç zamanı olacaktır. Bunu else deyimi olarak durumumuza ekleyeceğiz . Yine, kıvrık parantezleri kullanarak bunu bir liste olarak biçimlendirin.
Bu noktada, diğer tüm günleri hesaba katmadık, bu nedenle birden çok listeyi eklemek için ve işaretini (&) kullanacağız. Her tam gün için, bir günde sahip olduğumuz 24 saati temsil eden 24 değerinde bir liste oluşturun. Bunun için List.Repeat kullanacağız .
List.Repeat fonksiyonu ile 24'ü içeren bir liste oluşturun ve LD'deki gün sayısını sayarak bunu birkaç kez tekrarlayın . Bunu başarmak için, List.Count (LD) kullanın ve ardından 2 çıkarın çünkü başlangıç tarihimiz için ayrı bir listemiz var ve bitiş zamanı için başka bir liste oluşturacağız.
Temelde bu, her gün için yalnızca 24 saatten oluşan bir liste oluşturacaktır.
Bitiş zamanı için, ve işaretini kullanarak liste olarak tekrar ekleyebiliriz, Ardından, liste başlatıcıları kullanarak, ET'yi çağıralım.
Şimdiye kadar, uzunlukları birbirine eşit olan iki büyük listemiz var - bir tarih listesi ve bir zaman listesi. Bu iki listeden tek bir tablo oluşturabiliriz.
Yeni bir satırda, tablo için t olarak adlandıracağımız başka bir değişken oluşturun ve Table.FromColumns işlevini kullanın . Bu işlev , listeleri liste olarak gerektirir ve biz LD'mizi kullanacağız .
LD'miz , başlangıç tarihinden bitiş tarihine kadar ayrı ayrı tarihler içerir. LD'yi geçirip Date.EndOfMonth işlevini çağırarak bu tarih listesini ay sonu tarih değerine dönüştürebiliriz . Ardından bir sonraki satırda LT'mizi de alalım .
Başka bir satır oluşturmak için Enter tuşuna basın ve tablomuzu type table olarak ayarlayın . Tablomuzun iki sütunu olacak, ilk sütun tarih sütunu olacak. Bu nedenle, bir Tarih sütunu oluşturun ve Date.Type işlevini çağırın.
İkinci sütun Saat sütunumuz olacak ve bir tam sayı olacaktır. Böylece bir Hrs sütunu oluşturacağız ve Int8.Type'ı çağıracağız.
Kaydımızı kapatmak için kapanış parantezimiz ve Table.AddColumn işlevimizi kapatmak için bir kapanış parantezimiz var. Bitti'yi tıkladığınızda Özel sütunun altında bir kayıt listesi alırız.
Yine her bir Kayıt'ın yanındaki beyaz alana tıklayın ve ekranın alt kısmında tablo açılmalıdır.
Son satırda t Tablomuzun olduğuna dikkat edin . Kayıtlardan birini incelemeye çalışalım. İlk sonuca sağ tıklayın ve Add as New Query .
Önceki özetin aynısını alacağız ve Tablo'ya tıklarsak Tarih ve Saat değerlerimizi almalıyız .
Ancak, öncelikle nihai çıktı tablosuyla ilgileniyoruz. Buna odaklanmak için Özel'e sağ tıklayıp Sil'i seçerek yardım sorgusunu kaldıralım . Açılır pencerede Sil'i tıklayarak onaylayın .
Silindikten sonra, ilk sorgumuza geri dönebilir ve Kayıt'ın yanındaki beyaz alana tekrar tıklayabiliriz. Daha önce olduğu gibi aynı sonuçları gösterecektir. Ama bu sefer formül çubuğunu genişletelim ve kapanış parantezimizin yanına [t] çağıralım.
Custom sütununda, her Record'un Table olarak değiştirildiğini görebiliriz .
LuckyTemplates Tarihler Arası Çalışma Saatleri: Projeksiyon
Baktığımız tablodan ilgilenilen yalnızca iki sütun var: personel adı ve özel sütunumuz. Bu iki sütunu bu tablodan tek başına tutmak için projeksiyonu kullanabiliriz.
Formül çubuğuna gidin ve kapanış parantezimizin yanında kalmasını istediğimiz alanları köşeli parantez içine alarak seçin. Ardından onay işaretine basın.
Bu sonucu almalıyız.
Custom yanındaki ok simgelerine tıklayarak iç içe geçmiş tabloyu genişletebiliriz . Orijinal sütun adını ön ek olarak kullan seçeneğinin işaretini kaldırın ve Tamam'a tıklayın.
Tablomuz bu şekilde görünmelidir.
LuckyTemplates Tarihler Arası Çalışma Saatleri: Toplu Değerler
Şimdi geriye kalan tek şey bu değerleri bir araya getirmek. Bunu yapmak için Personel Adı sütununu seçin ve Dönüştür'e gidin .
Açılır pencerede Değerler Sütunu altında Saat'i seçin çünkü toplamak istediğimiz şey bu. Ardından, Toplam Değer İşlevi altında Toplam'ı seçin . Ardından Tamam'ı tıklayın.
Son çıktımız böyle görünecek.
LuckyTemplates'da Tarih Tablosu Oluşturma LuckyTemplates'da Standart Olmayan Tarih Tabloları İçin Olası En Hızlı Zaman Karşılaştırması
DateTime Değeri: Saniyeler Nasıl Çıkarılır
Çözüm
Bu blogda, Access Analytic'in Start Stop Challenge'ına bir yaklaşım gördünüz. Her personelin bir ayda çalıştığı toplam saat sayısını nasıl hesaplayacağınızı ve verilerinizdeki olası yazım hatalarıyla nasıl başa çıkacağınızı öğrendiniz.
Bu teknik ve LuckyTemplates ile tarihler arası çalışma saatleri kendi kuruluşunuzda veya LuckyTemplates bilgi ve becerilerinizi derinleştirmek için bir uygulama olarak kolayca hesaplanabilir.
Excel hücrelerini metne sığdırmak için güncel bilgileri ve 4 kolay çözümü keşfedin.
Bir Excel Dosyasının Boyutunu Küçültmek için 6 Etkili Yöntem. Hızlı ve kolay yöntemler ile verilerinizi kaybetmeden yer açın.
Python'da Self Nedir: Gerçek Dünyadan Örnekler
R'de bir .rds dosyasındaki nesneleri nasıl kaydedeceğinizi ve yükleyeceğinizi öğreneceksiniz. Bu blog aynı zamanda R'den LuckyTemplates'a nesnelerin nasıl içe aktarılacağını da ele alacaktır.
Bu DAX kodlama dili eğitiminde, GENERATE işlevinin nasıl kullanılacağını ve bir ölçü başlığının dinamik olarak nasıl değiştirileceğini öğrenin.
Bu eğitici, raporlarınızdaki dinamik veri görselleştirmelerinden içgörüler oluşturmak için Çok Kanallı Dinamik Görseller tekniğinin nasıl kullanılacağını kapsayacaktır.
Bu yazıda, filtre bağlamından geçeceğim. Filtre bağlamı, herhangi bir LuckyTemplates kullanıcısının başlangıçta öğrenmesi gereken en önemli konulardan biridir.
LuckyTemplates Apps çevrimiçi hizmetinin çeşitli kaynaklardan oluşturulan farklı raporların ve içgörülerin yönetilmesine nasıl yardımcı olabileceğini göstermek istiyorum.
LuckyTemplates'da ölçü dallandırma ve DAX formüllerini birleştirme gibi teknikleri kullanarak kâr marjı değişikliklerinizi nasıl hesaplayacağınızı öğrenin.
Bu öğreticide, veri önbelleklerini gerçekleştirme fikirleri ve bunların DAX'ın sonuç sağlama performansını nasıl etkilediği tartışılacaktır.