• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü Formül/Makro Çözüm Talebi

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

hhmercan

Yeni Üye
Kullanıcı Bilgileri
Aktiflik
Çevrimdışı
Katılım
11 Eyl 2021
Mesajlar
29
Aldığı beğeni
7
Excel V
Office 365 TR
Konuyu Başlatan
Merhabalar,
Excel ile alakalı bir konuda desteğinize ihtiyacım var. Zorluğu kolaylığı konusunda bir fikrim yok ama biraz uğraştıabileceğini düşündüğüm için hakkını vermek istedim. Bu sebeple başlığa ücretli ibaresi ekledim. Çok uzatmadan konuya geçeyim.

4 sekmeli 1 excel dosyam var. Bunların ilk 3 tanesinin içerik yapısı aynı.
4. sü ise bu 3 sayfaya veri çekeceğim yahut değerler üretileceği zaman ihtiyaç duyulan ayar sayfası.
Şöyle resim olarak da ileteyim.

6cajn4q.jpg



=====



4begpr3.jpg



Renklendirmeleri olay karışmaması için yaptım. Normalde renkler yok.

Amacım; ayarlar sayfasında bulunan sayı aralığa göre "BT ID" sütununa rastgele sayı üretmek. Yani örneğin şuan ki değer 1 ile 33 arasında.
BT sütununa ait hücrelerde; 1 ile 33 arasında benzersiz değerler üretmek istiyorum.
Tabi sizlere sormak istediğim bu değil.

Grup ID ve MESAJ ID bölümleri, üretilecek olan değerlere bazı şartlar getiriyor.

Benim yapmak istediğim şey şu;
Sistem random sayı üretmek için sırasıyla satırları gezecek ve belirtilen aralıkta sayılar üretecek, fakat bunu yaparken,
Eğer aynı GRUP ID'sine sahip olan satırlar içersinde, MESAJ ID'si eşit olan hücreler varsa, bunlara tanımlanacak olan sayı aynı olsun.
Bunu da yaparken sadece aynı grupta olan hücrelerde bu durum geçerli olacak. Grup 1'de olan mesaj id'lerini eşit verecek, Grup 2 ye geçtiğinde yine aynı şey söz konusu ise onun ilk grup ile alakası olmayacak. Aynı şey o grup içinde bağımsız olarak yapılacak.

Görselden net örnek verecek olursak;

6cajn4q.jpg


Böyle bir tablomuz var. Amacımız BT ID sütununa ayarlarda belirtilen aralıkta(1-33) rastgele tam sayılar üretmek.

Ancak Grup ID'si 1 olan hücreler içerisinde; 2. ve 8. satırın mesaj id'leri birbirine eşit. Sayı üretirken 2. ve 8. satırların BT ID'leri de eşit olmalı. Diğer gruplarda eğer MESAJ ID'leri aynı olan hücreler varsa, burayla hiç bir bağı yok. Onlarda kendi grubu içerisinde ki eşit olan mesaj id'lere göre BT ID'lerini ayarlayacak. Bu gruptakilerle eşit olmayacak.

Oluşturulan BT ID'lere karşılık gelen İsim/Soyisimler; "Ayarlar" sekmesinde belirtilmiş durumda. İsim/Soyisim sütünunu da buna göre otomatik dolduracak.

Devam ediyoruz;

Grup ID'si 2 olan satırlar içerisinde de MESAJ ID'leri eşit olan hücreler var. 11 ile 16. satırlar ve 13 ile 15. satırların MESAJ ID'leri eşit.
O zaman 11 ve 18. satırda ki BT ID hücrelerine üretilen sayılar eşit olmak durumunda. Aynı şekilde 13 ve 15. satırdaki BT ID hücreleri de eşit olmak durumunda.
Bu gruptaki BT ID leri ile grup 1'de ki veya diğer gruplardaki BT ID'lerin hiç bir bağlantısı bulunmuyor. Her grubun kendi içerisinde bu işlemi yapması gerekiyor.

Oluşturulan BT ID'lere karşılık gelen İsim/Soyisimler; "Ayarlar" sekmesinde belirtilmiş durumda. İsim/Soyisim sütünunu da buna göre otomatik dolduracak.

Bu işlemler yapıldıktan sonra ortaya çıkan sonuç şu şekilde olacak;

3wnlzsb.jpg



2. konu ise; mesaj id sütununda gördüğünüz gibi birde xx, yy, zz gibi harfler var. Bunların eşi yok. Bu harfleri kullanmaktaki amacım; aynı satırda bulunan mesajlar sütununa, bazen standart cevaplar verilebilecek içerikler gelebiliyor. Böyle klasik mesajlar olduğunda onun cevabı da klasik olacağı için otomatik olarak tabloya ekletmek istiyorum. Ben şuan tabloyu uzatmamak için çok fazla yazmadım ama bu tür değişkenlerden çok fazla var.

Yapmak istediğim şey şu;
Sistem, ayarlar sekmesindeki "ön tanımlı değerler" bölümünde belirtilen değişkenlerin hepsini tek tek kontrol edecek.
Bulduğu zaman o satırın altına bir satır daha ekleyecek.
Bu yeni satırın;
- GRUP ID'sini; üst satırdaki ile ile aynı yapacak,
- BT ID'sini; Ayarlarda bulunan aralık kısmına göre rastgele üretecek. Yani şuan ki örnekte, 1 ile 33 arasında.
- Ürettikten sonra İsim/Soyisim bölümünü BT ID'ye karşılık gelen değerle dolduracak,
- Mesaj bölümünü ise yine ayarlarda bulunan "Ön Tanımlı Değerler" bölümünde ona karşılık gelen değer neyse ona göre dolduracak.

Olay bu şekilde tamamlanıyor. Hatamız olduysa kusura bakmayın.
 
Çözüm
iki koldan bu konuya uğraşıyoruz abey.Ben yapamazsam bile üstad halleder :)
Sanıyorum şimdi sadece 3 satır arka arkaya gelmeme olayı kaldı doğru ise.

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
Merhaba dosyanızı eklerseniz 1.konuyuçözebileceğimizi tahmin ediyorum.Adım adım ilerlemekte fayda var.

Birde güzel anlatmışsınız keşke diğer üyelerde böyle açıklaybilseler ne iyi olurdu :)
 
Merhaba dosyanızı eklerseniz 1.konuyuçözebileceğimizi tahmin ediyorum.Adım adım ilerlemekte fayda var.

Birde güzel anlatmışsınız keşke diğer üyelerde böyle açıklaybilseler ne iyi olurdu :)

Merhaba, tabi ki ekliyorum. Bende konuyu uzattım mı, daha kısa nasıl anlatabilirim diye düşünüyordum. Teşekkürler. :)
 

Ekli dosyalar

  • Örnek DB.xlsx
    16.6 KB · Gösterim: 12
Merhaba, tabi ki ekliyorum. Bende konuyu uzattım mı, daha kısa nasıl anlatabilirim diye düşünüyordum. Teşekkürler. :)
Yok abey normalde ben fazla konu uzun olunca algılayamıyorum ama 1.konuya kadar anladım :)
Diğerinede çözülünce bakarız.
Yinede söz veremem yapabileceğime ama çözen üye üstadlar çıkar ama yapabileceğimi sanıyorum müsait olunca untmazsam.
 
Selamlar,
Profilinizde Office 365 yazmakta...

Bir dokuman hazırladım... 365 dinamik dizi formülleri ile hazırlandı...
Sanıyorum bu ihtiyacı karşılayacaktır... İncelersiniz...

Not : Sayıları rastgele üretme işlemini Veri sayfasında yapın ve diğer sayfalara geçtiğinizde Ad Soyad lar listeli gelir.
 

Ekli dosyalar

  • RastgeleListe.xlsx
    61.6 KB · Gösterim: 10
C ve D sütunları için basit kod yazdım doğru ise hızlandırılabilir.

eee.gif


Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 

Ekli dosyalar

  • Örnek DB.7z
    25.7 KB · Gösterim: 9
Selamlar,
Profilinizde Office 365 yazmakta...

Bir dokuman hazırladım... 365 dinamik dizi formülleri ile hazırlandı...
Sanıyorum bu ihtiyacı karşılayacaktır... İncelersiniz...

Not : Sayıları rastgele üretme işlemini Veri sayfasında yapın ve diğer sayfalara geçtiğinizde Ad Soyad lar listeli gelir.


Hocam çok uğraşmışsınız mahcup oldum.
Her şey çok sistematik ve düzenli görünüyor. Fakat bir yerde problem var;
Aslında bu problem benimde bir değişiklik yapmama sebep oldu. xx, yy gibi değişkenleri mesaj id yerine farklı bir sütunda göstermek olayı çok daha kolaylaştıracaktır. Siz buna ön tanım demişsiniz. Çokta mantıklı olmuş.

Sorun şöyle; bahsetmiş olduğum xx yy gibi değişkenler tabloda bulunduğu zaman yeni bir satır eklenerek içeriğin otomatik doldurulması gerekiyor.

Birde office programlarına sizler kadar hakim olmadığım için kendi dosyamda sizin yazdıklarınızı ayırıp nasıl uygulayabilirim bilmiyorum. Sistem o kadar gelişmiş görünüyor ki F9 basıp izlemekten öteye gidemedim. :D


C ve D sütunları için basit kod yazdım doğru ise hızlandırılabilir.

Ekli dosyayı görüntüle 2769


Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.

Ekranda oynayan görseldeki mantık tam olarak 1. bölüm hocam. Doğrudur herhangi bir problem görünmüyor.
Kodları ve kullanımını çok bilmiyorum ama uygulamada şöyle bir olay var. Anladığım kadarıyla şuan sabit olarak 1 ile 33 arasında değer üretiyor. Bunun değişme ihtimali var. O yüzden ayar sekmesine aralıklarla alakalı hücrelerde eklemiştim.
Birde satır sayısı 26 değil de çok daha fazla olacak uygulamada.

2. bölümün durumunda da şöyle bir değişim yaptım biraz daha net olması için. xx, yy gibi verileri ayrı bir tabloya aldım(Veri ID). Son hali şu şekilde;

hlbgt7m.jpg
[
 
ile 33 arasında değer üretiyor. Bunun değişme ihtimali var. Birde satır sayısı 26
Bunu hücrelerden aldırırız zaten hücrelere yazdırmıştınız ordan dinamik olarak getirilir sayılar.
26 olayı ise sın satır bulma koduyla basitçe yapılır.Bu xx ve yy olayları doğru değilmi?
 
Bunu hücrelerden aldırırız zaten hücrelere yazdırmıştınız ordan dinamik olarak getirilir sayılar.
26 olayı ise sın satır bulma koduyla basitçe yapılır.Bu xx ve yy olayları doğru değilmi?

Sizin yaptığınız örnekte xx, yy değil de a, b gibi eşit hücreler ile alakalı işlem yapılıyor. Acaba siz mi hatalı yazdınız yoksa ben mi anlayamadım. :)
Eğer yanlış yazıldıysa; sizin atmış olduğunuz görselde ki her şey doğru işliyor.
Yok başka bir şeyden bahsediyorsanız kusura bakmayın tam anlayamadım ben sormak istediğinizi.
 
Sizin yaptığınız örnekte xx, yy değil de a, b gibi eşit hücreler ile alakalı işlem yapılıyor. Acaba siz mi hatalı yazdınız yoksa ben mi anlayamadım. :)
Eğer yanlış yazıldıysa; sizin atmış olduğunuz görselde ki her şey doğru işliyor.
Yok başka bir şeyden bahsediyorsanız kusura bakmayın tam anlayamadım ben sormak istediğinizi.
Kodun çalışması şöyle.
Önce C sütununa 1 ile 33 arasında benzersiz sayı aldırdım.
Sonra B deki dolu satılara göre C deki satır numaralarını dictionary içine aldırdım burda a,b, yy,xx gibi harflar aynı farketmiyor.
Sonrada C sütunundaki sayıların karşısındaki sayı karşılığını Ayar sayfasından getirttim.
Yani xx,yy gibi olmuş yada a,b yazılmış fark etmedi.Yada xx, ve yy nin özel durumu varmı 1.konu için bilmiyorum.
 
Kodun çalışması şöyle.
Önce C sütununa 1 ile 33 arasında benzersiz sayı aldırdım.
Sonra B deki dolu satılara göre C deki satır numaralarını dictionary içine aldırdım burda a,b, yy,xx gibi harflar aynı farketmiyor.
Sonrada C sütunundaki sayıların karşısındaki sayı karşılığını Ayar sayfasından getirttim.
Yani xx,yy gibi olmuş yada a,b yazılmış fark etmedi.Yada xx, ve yy nin özel durumu varmı 1.konu için bilmiyorum.


Mantıkta hiç bir sorun yok hocam. Tam olarak doğru. xx ve yy nin 1. konu ile alakalı hiç bir özel durumu yok.
Burada hatayı ben yapmışım. Normalde a, b diye ifade ettiklerimin amacı başka, xx, yy diye ifade ettiklerimin amacı başka. Ama bu ikisini aynı sütunda kullandığım için olayı biraz sıkıntıya soktu tabi. Ben şuan xx, yy gibi değişkenleri ayrı bir sütuna aldım. Şu şekilde:

hlbgt7m.jpg
 
Selamlar,
Sorun şöyle; bahsetmiş olduğum xx yy gibi değişkenler tabloda bulunduğu zaman yeni bir satır eklenerek içeriğin otomatik doldurulması gerekiyor.
Bu olayı tam olarak anlayamadım demek doğru olacaktır....

Çünkü, AYAR Sayfanızda bu xx, yy gibi değişkenlerin bir açıklamaları da mevcut...
1 - Zaten bu açıklamaları Ayar sayfasında yazacaksanız neden AYAR sayfasına xx, yy lerin bir satır daha eklenip yazılması isteniyor...
2 - Hadi diyelim sayfadaki xx yy lerin listesini AYAR sayfasına yaptırdık diyelim... Açıklamaları nasıl olacak???

Belki iyi bir açıklama yapmanız çok yerinde olacak....
Satırı nereye açıyorsunuz.... Açılan satıra ne yazdırıyorsunuz.... Açıklama ne olacak.... vs

Birde office programlarına sizler kadar hakim olmadığım için kendi dosyamda sizin yazdıklarınızı ayırıp nasıl uygulayabilirim bilmiyorum.
Tam olarak neyi ayırıp ne uygulamak istiyorsunuz....
Yoksa sorunuzun devamı mevcut ya da bu sayfalar orijinal dokumanınızla aynı değil ..... şeklinde sorular beliriyor bende...

Dosyayı sizin en son resimdeki şeklinde ayarlayacağım....
Bir de her sayfada F9 a basınca verilerin tam karşılıklarının oluşacağı şekilde formüle edeceğim....
Ancak, şu xx yy olayının çözülmesi mesajınızı bekleyeceğim...
 
Selamlar,

Bu olayı tam olarak anlayamadım demek doğru olacaktır....

Çünkü, AYAR Sayfanızda bu xx, yy gibi değişkenlerin bir açıklamaları da mevcut...
1 - Zaten bu açıklamaları Ayar sayfasında yazacaksanız neden AYAR sayfasına xx, yy lerin bir satır daha eklenip yazılması isteniyor...
2 - Hadi diyelim sayfadaki xx yy lerin listesini AYAR sayfasına yaptırdık diyelim... Açıklamaları nasıl olacak???

Belki iyi bir açıklama yapmanız çok yerinde olacak....
Satırı nereye açıyorsunuz.... Açılan satıra ne yazdırıyorsunuz.... Açıklama ne olacak.... vs


Tam olarak neyi ayırıp ne uygulamak istiyorsunuz....
Yoksa sorunuzun devamı mevcut ya da bu sayfalar orijinal dokumanınızla aynı değil ..... şeklinde sorular beliriyor bende...

Dosyayı sizin en son resimdeki şeklinde ayarlayacağım....
Bir de her sayfada F9 a basınca verilerin tam karşılıklarının oluşacağı şekilde formüle edeceğim....
Ancak, şu xx yy olayının çözülmesi mesajınızı bekleyeceğim...

Hocam şöyle ki;
Öncelikle bu xx, yy gibi verileri ayrı bir hücreye aldım. Bu sizin sorduğunuz soruyla alakalı değildi ama değişimi bildirmiş olayım.
Şimdi; xx gibi değişkenlerin neye karşılık geldiği dediğiniz gibi ayarlar sayfasında mevcut. Fakat yeni satır ayarlar sayfasına değil; diğer sayfalara ekleniyor. Şöyle yapalım, siz üstteki mesajı yok sayın ben daha sade bir şekilde bu xx yy olayını anlatayım.

Bir tık daha açıklayıcı bir görsel hazırladım.
xx, yy yi VERİ ID sütununa taşımıştık.
Sistem VERİ ID bölümünde dolu bir hücre gördüğü zaman aynı tabloya;
1- Yeni bir satır oluşturuyor,
2-Oluşan tabloyu şu şekilde dolduruyor;
Grup ID: Üst satırla aynı
Mesaj ID: Boş
Veri ID: Boş
BT ID: Ayarlardaki belirtilen aralığa göre rastgele oluşturuyor
İsim Soyisim: Ayarlardan BT ID ye karşılık gelen değer çekiliyor.
Mesaj: Ayarlardan VERİ ID ye karşılık gelen değer çekiliyor.

Bunların hepsi yapıldığında tablo artık şöyle bir hal almış oluyor.

4zzpiwq.jpg




Ayırmaktan kastım ise şu;
Sizin atmış olduğunuz dosyadaki veri sekmesinde 3 sayfanın verileri de bir arada bulunuyor ya. Onları giriş, gelişme, sonuç şeklinde nasıl ayıracağım konusunda biraz kafa karışıklığı yaşadım.
 
Bu sayfalara satır ekle dediğiniz olay, formüllerle olmaz.
Bunun için makro gerekiyor... Ve beni aşacaktır....
Dolayısıyla ben konuyu bu noktada bırakıyorum maalesef...

Sanıyorum, Sn @Refaz sorunuza çözüm getirecektir...
 
Bu sayfalara satır ekle dediğiniz olay, formüllerle olmaz.
Bunun için makro gerekiyor... Ve beni aşacaktır....
Dolayısıyla ben konuyu bu noktada bırakıyorum maalesef...

Sanıyorum, Sn @Refaz sorunuza çözüm getirecektir...
Yine de çok teşekkür ederim. Uğraştınız, vakit ayırdınız sağ olun.
 
Abey bayağı mesaj yazılmış birazdan okuyacağım.
Son resme göre ayarladım.Ayar sayfasından A5 ve B5 deb alıyor random sayıları.
Son satır bulmayıda ekledim.
Kodu hızlandırma yaptım.
Giriş sayfası için yaptım ve D ve E sütunları için yaptım.
2.konuya bakacağım

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 

Ekli dosyalar

  • Örnek DB.7z
    28.5 KB · Gösterim: 3
Abey bayağı mesaj yazılmış birazdan okuyacağım.
Son resme göre ayarladım.Ayar sayfasından A5 ve B5 deb alıyor random sayıları.
Son satır bulmayıda ekledim.
Kodu hızlandırma yaptım.
Giriş sayfası için yaptım ve D ve E sütunları için yaptım.
2.konuya bakacağım

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.

eyvallah teşekkür ederim beklemedeyim ben. :)
 
Dosyayı bir deneyin Arşiv sayfası için.
F sütununda bir yer olmadı gibi 2.konu için.

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 

Ekli dosyalar

  • Örnek DB.7z
    30.5 KB · Gösterim: 6
Dosyayı bir deneyin Arşiv sayfası için.
F sütununda bir yer olmadı gibi 2.konu için.

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
Sanki olmuş gibi ama satır sayısı artınca excel dosyası kilitleniyor. benden mi kaynaklı acaba
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst