Çözüldü Hücre Boşsa Gruptan Birini Random Yazdır

  • Konuyu başlatan Konuyu başlatan ekrmy
  • Başlangıç tarihi Başlangıç tarihi

ekrmy

Site Üyesi
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhabalar,

Aldığımız Data'da kayıtlar kullanıcılara atanmayabiliyor. Kullanıcı bölümü boş kalıyor. Örnek bir dosya oluşturdum.

  • B sütunu kaydın hangi kullanıcı tarafından kontrol edileceğini ifade etmektedir.
    • Ataması yapılmamış kaydın kullanıcı kısmı boş gelmektedir.
    • Amaç boş hücreleri random ilgili ekipteki (Grup) kişilere atamak. Liste'de kullanıcıların hangi grupta olduğu belirtilmiştir.
Rastgele formülü ile uğraşsam da yapamadım. Destek olursanız çok sevinirim.

İyi çalışmalar.
 

Ekli dosyalar

Formülle çözüm önerisinde bulunacağım ama şunu bilmeniz gerekir ki;
RASTGELEARADA işlevi OYNAK diye tabir ettiğimiz bir işlev ve bu nedenle de
sayfada herhangi bir hücreye bir veri yazıldığında tüm formüller yeniden hesaplanır ve sonuçlar da doğal olarak değişir.
Değişen sonuçların ilgili BÖLGE içerisinde değişeceği zaten malumdur.

Uzun kodlamalar yerine, pratik olarak şöyle yapılabilir:
-- Aşağıdaki formülü OLMASI GEREKEN kısmına uygulayıp liste boyunca kopyalayın,
-- Ardından da formül uygulanan alanı kopyalayıp, asıl yerine (B sütunu) DEĞER olarak yapıştırın.

Kod:
You must log in to view content
(1 satır)

.
 
Formülle çözüm önerisinde bulunacağım ama şunu bilmeniz gerekir ki;
RASTGELEARADA işlevi OYNAK diye tabir ettiğimiz bir işlev ve bu nedenle de
sayfada herhangi bir hücreye bir veri yazıldığında tüm formüller yeniden hesaplanır ve sonuçlar da doğal olarak değişir.
Değişen sonuçların ilgili BÖLGE içerisinde değişeceği zaten malumdur.

Uzun kodlamalar yerine, pratik olarak şöyle yapılabilir:
-- Aşağıdaki formülü OLMASI GEREKEN kısmına uygulayıp liste boyunca kopyalayın,
-- Ardından da formül uygulanan alanı kopyalayıp, asıl yerine (B sütunu) DEĞER olarak yapıştırın.

Kod:
You must log in to view content
(1 satır)

.

Ömer Hocam, çok teşekkür ederim. Elinize sağlık.
 
Ömer Hocam Merhabalar,

Çalışan listesi değiştiği için sabit satır olmayacak ve ek sayfaya ekledim. Ancak

Kod:
You must log in to view content
(1 satır)

Gruplara ait isimler farklı gruplara atama gerçekleşiyor. Atladığım bir nokta var mı sizin kodunuz üzerinden baya zaman harcadım ama çözemedim.

Yardımcı olursanız çok sevinirim.

İyi çalışmalar.
 
+ 1621977259425.webp
 

Ekli dosyalar

  • Ekran Alıntısı.webp
    Ekran Alıntısı.webp
    12 KB · Görüntüleme: 35
Bilgisayarda değilim.
Belgenize şu an bakamıyorum.
Orta bölümdeki isim-bölge listesinin bölgeye göre sıralanmış olmasını sağlarsanız
verdiğim formülün doğru sonuç vermesi lazım.
Sorunlu haliyle yeni bir örnek belge ekleyin.
Uygun vakit kontrol yaparım.
 
Bilgisayarda değilim.
Belgenize şu an bakamıyorum.
Orta bölümdeki isim-bölge listesinin bölgeye göre sıralanmış olmasını sağlarsanız
verdiğim formülün doğru sonuç vermesi lazım.
Sorunlu haliyle yeni bir örnek belge ekleyin.
Uygun vakit kontrol yaparım.

Belirttiğiniz gibi bölgeye göre sıraladığımda sorun çözüldü.
  • Sıralama yapmadan bunu aşma olasılığımız var mı?
Ek olarak bir ihtiyaç daha doğdu :)

Ek olarak paylaştığım dosyada;
  • Çalışanların farklı segmentleri oluyor. Boş hücreye atama yaparken bu koşulu da eklemem gerekiyor.
  • Örneğin; "İzmir-2" Grubunda segment olarak uzay ve robot bölümünde yer alan çalışanların segment durumuna göre ataması yapılması gerekiyor. İzmir-2 grubunda Uzay segmentine bakan temsilci Uğur, uğurun sadece uzay içerikli kayıtlara ataması yapılması gerekiyor.
    • Eğer uğur izinliyse ve grup içerisinde uzay segmentine bakan çalışan yoksa robot bölümünden çalışana atananması gerekiyor. Aynı koşul robot segmentini içinde geçerli.
Bunu yaptırabilir miyiz?

Desteğiniz için teşekkür ederim.

İyi çalışmalar.
 

Ekli dosyalar

@ekrmy

Şu formülü ilk hücreye dizi formülü olarak uyguladıktan sonra liste boyunca kopyalayın.
Sonra da; önceki cevabımda belirttiğim gibi formül alanını kopyalayıp, B sütununa DEĞER olarak yapıştırın.

Dizi formülü uygulaması:
-- Formülü hücreye yapıştırın,
-- Aynı hücreyi seçip, F2 tuşuna basarak hücre içerisine girin,
--
CTRL ve SHIFT tuşları basılı durumdayken ENTER tuşuna basarak işlemi tamamlayın.
İşlem doğru yapılmışsa formül kendiliğinden
{.......} gibi SÜSLÜ PARANTEZ arasına alınmış olur.
Bu parantez işareti elle/klavyeden yazılırsa formül sonuç vermez.


Kod:
You must log in to view content
(1 satır)

.
 
@ekrmy

Şu formülü ilk hücreye dizi formülü olarak uyguladıktan sonra liste boyunca kopyalayın.
Sonra da; önceki cevabımda belirttiğim gibi formül alanını kopyalayıp, B sütununa DEĞER olarak yapıştırın.

Dizi formülü uygulaması:
-- Formülü hücreye yapıştırın,
-- Aynı hücreyi seçip, F2 tuşuna basarak hücre içerisine girin,
--
CTRL ve SHIFT tuşları basılı durumdayken ENTER tuşuna basarak işlemi tamamlayın.
İşlem doğru yapılmışsa formül kendiliğinden
{.......} gibi SÜSLÜ PARANTEZ arasına alınmış olur.
Bu parantez işareti elle/klavyeden yazılırsa formül sonuç vermez.


Kod:
You must log in to view content
(1 satır)

.
Ömer Hocam Selamlar,

Bu formülü girdiğimde dosya çok kasıyor ve liste sıralamaları değişken olduğu için hata payı kalıyor, farklı bir çözüm olma olasılığı var mı? Cevap için teşekkür ederim şimdiden.

İyi çalışmalar.
 
Veri yığını büyük ve aynı zamanda da dizi formülü uygulanan hücre sayısı fazla olunca formüllerin yavaş çalışması normaldir.
Hız sorunu yaşanmaması için, makro ile çözüm bulmak gerekir.

.
 
@ekrmy
Şu kodu bir deneyin bakalım.
Verilerin konumlarının son eklenen örnek belgedeki gibi olduğu varsayıldı (TEST 2 isimli sayfa).

Kod şimdilik sonuçları J3'ten itibaren dolduruyor.
Sorun yok, işlem tamamsa kodun son kısmında MsgBox ... satırının hemen üstündeki satırda yer alan
t.[J3]...... kısmını t.[A3]..... olarak değiştirirsiniz.

VBA:
You must log in to view content
(21 satır)

.
 
Sayın @ekrmy maKro çözüm içeren bir önceki cevabıMla ilgili geri bildirimde bulunmadı.

@KMLZDMR . Sağdaki OLMASI GEREKEN tablosunun İSİM sütunu için o formül.
Koşul: ortadaki tablonun SEGMENT ve GRUP kriterine göre SIRALANMIŞ olması.
İşlem sonrasında İSİM sütunu B sütununa DEĞER olarak yapıştırılacak.

.
 
@ekrmy
Şu kodu bir deneyin bakalım.
Verilerin konumlarının son eklenen örnek belgedeki gibi olduğu varsayıldı (TEST 2 isimli sayfa).

Kod şimdilik sonuçları J3'ten itibaren dolduruyor.
Sorun yok, işlem tamamsa kodun son kısmında MsgBox ... satırının hemen üstündeki satırda yer alan
t.[J3]...... kısmını t.[A3]..... olarak değiştirirsiniz.

VBA:
You must log in to view content
(21 satır)

.
Ömer Bey,

Elinize sağlık. İlk gözlemlerime göre random atamada; gözdeye mesela iki defa yazdı oysa gözde bir kez yazdıktan sonra caner yada mesut yazması gerekiyor.

1627748631936.webp


Örneğin; "İzmir-2" Grubunda segment olarak uzay ve robot bölümünde yer alan çalışanların segment durumuna göre ataması yapılması gerekiyor. İzmir-2 grubunda Uzay segmentine bakan temsilci Uğur, uğurun sadece uzay içerikli kayıtlara ataması yapılması gerekiyor.
  • Eğer uğur izinliyse ve grup içerisinde uzay segmentine bakan çalışan yoksa robot bölümünden çalışana atananması gerekiyor. Aynı koşul robot segmentini içinde geçerli.

Yukarıda belirttiğim durum çalışmıyor örneğin; manisa 9 dan uzay segmentinde çalışan yoksa boş kalıyor.

1627748812369.webp


Cevap için çok teşekkürler.

İyi çalışmalar.
 
Moderatörün son düzenlenenleri:
+ Hocam ana dataya geçirmek istedim de işin içine makro girdiği için içinden çıkamadım. Yeni dosya ekledim. Buradan revize edebilir miyiz? Zahmet vereceğim. Çok teşekkür ederim.

AH Sütünü dolacak.
 

Ekli dosyalar

Bilgisayarda değilim.
Zaten isteğiniz RASTGELE (random) atama idi, konu başlığı dahil ADİL dağılımdan hiç söz edilmedi.
Verdiğim kod da buna göre (random) kurgulanmıştı.
 
Ömer Bey,

Makro bilgim bulunmuyor, kurcalayarak bir şeyler toparlayabildim. Sizin kodunuzu çalıştırırsak. Daha sonra boşları doldurduğumuz kayıtları web formuna gönderecek. Ben şuan tek tek bunu gerçekleştirebiliyorum. Yani temel hazır :) (kendimce)

Kod:
You must log in to view content
(16 satır)

Hangi kodlar gerekli gereksiz bilmiyorum. :)

Örneğin;
TICKETID'e gidecek: 12069963,12182722
ATANACAK'a gidecek: cansel

1627756417213.webp

  • Kullanıcısı kısmı boş olmayan kayıtlar dahil edilmeyecek. Bunların zaten web formuna iletilen kayıtlar. Biz burada doldurduğumuz kayıtları web e göndereceğiz.
Bunları yapabilirsek minnettar olacağım. Desteğiniz için çok teşekkür ederim.

1627756826848.webp


Sonra bunları 2 ayrı butona bağlayıp konuyu kapatırız :)

İyi çalışmalar.
 
Moderatörün son düzenlenenleri:
Üst