Excel 2003'te başka bir hücrede bulunan Rasgele Sonucu temel alan bir hücreyi (otomatik olarak) nasıl güncellerim?


2

senaryo

Sütun J, Cdiğer 2 sayı sütunundan rasgele seçime dayalı olarak , sütundan veri görüntüler , yani:

J1: =INDIRECT("C"&INDIRECT("F"&N1))
J2: =INDIRECT("C"&INDIRECT("F"&N2))
J3: =INDIRECT("C"&INDIRECT("F"&N3))
...

NEREDE:

  • Sütun Ciçinde yerleştirilecek olan veri olduğu J1, J2, J3vs.
  • Sütun F, Rastgele Jeneratör sonucudur (1 ile 122 arasında bir sayı)
  • Sütun N, Sütunda veri bulunan hücrelerin sayısına göre sıralanan sabit bir sayıdır C(tipik olarak 1 ile 122 arasında).

Sorun

IF J2= J1, daha sonra temelde, eşit olmadıkça "Doldurma Hesapla" (veya benzeri bir işlev) Jgerçekleştirmek ve dizinin sonuna kadar sütunu kontrol etmeye devam etmek istiyorum . Örneğin: Eğer J1=1, J2=3, J3=2, J4=3, J5=1ve J6=2bu açıdan kabul gören, ancak, eğer J1=1, J2=1, J3=3, J4=4, J5=3ve J6=3, bunun nedeni olarak kabul edilebilir değildir J1ve J2ve J5ve J6tekrardır.

Benzer şekilde, Sütun ISütun gelen verileri görüntüler Bör: =INDIRECT("B"&INDIRECT("F"&N1))Ben tablo otomatik Sütununa tekrarlarına bağlı yeniden hesaplamak için olsun eğer vb, ancak J, Sütun ISütun takip edecek Jhem çünkü I& Jdeğerleri kullanıyor Nve FSütunlar veri kopyalamak Bve Csırasıyla.

Şimdiye kadar denediğim her şey dairesel bir referans hatasıyla sonuçlandı. El ile "Dolu Hesapla" seçeneğini kullanabilirim, ancak yine de (dikey olarak sütun içinde J) yinelemeler alıyorum ve bu kabul edilemez.

Sütun BŞarkı Başlıkları içeriyor ve kopya yok. Column C, sanatçıların isimlerine sahip ve Column'ta çok sayıda yinelemeler Cvar çünkü grupta sadece 4 şarkıcı var ve bir şarkıcının arka arkaya 2 şarkı söylemek zorunda kalmamasını tercih ederim.

Herhangi bir öneri?

Not: Cevabınız VBA kodunu kullanıyorsa, çok fazla yardıma ihtiyacım olacak! :O)

Daha fazla bilgi:

Lütfen http://imgur.com/RcQaexo adresindeki Ekran Görüntüsü'na bakın.

KOLON AÇIKLAMALARI:

Sütun A, listede kaç şarkı olduğunu gösteren bir (manuel) Şarkı sayacıdır.

Sütun B, şarkının çalınacağı Tuşlu (parantez içinde) bulunan Şarkı Başlıklarını içerir.

Sütun C, şarkıyı söyleyen kişiyi gösterir. Not: "Inst." Sütun'da Cşarkının enstrümantal olduğunu belirtir - ses yok.

Sütun D, "2" nin 2 Adımlı bir şarkı türünü temsil ettiği şarkının türünü belirtir. Diğer tür gösterimleri vb Waltz için, Sütunlar "W" Polka "P" dir B& CŞarkı Başlığı (Kolon göre sıralanır B) daha sonra Tür (Sütun D)

Sütun E, rasgele sayı üretecidir:=Rand()

Sütun F, Sütuna dayalı bir sayı oluşturur Eve her bir türdeki şarkı miktarına göre sayı aralığını sınırlar: =RANK(E1,E$1:E$53Not: 53 2 Adımlı şarkı vardır.

Sütun Gdikey bir aralıktır (veri yok)

Sütun H, her setteki şarkı sayısını takip etmek için başka bir manuel sayaçtır. Genellikle gece başına 4 set vardır ve setin 45 dakika veya 1 saat olmasına bağlı olarak her set 8-13 şarkı içerebilir.

Sütun I, sütuntaki Brasgele sayı üretecine (Sütun E) ve "sabit" sayılara dayanarak Sütundan kopyalanan Şarkı Başlıklarıdır N:=INDIRECT("B"&INDIRECT("F"&N2))

Sütun J, Crasgele sayı üretecine (Sütun E) ve Sütun'daki aynı sabit sayılara dayanarak Sütundan kopyalanan şarkıcı / sanatçıdır N:=INDIRECT("C"&INDIRECT("F"&N2))

Sütun K, her şarkının türünü gösterir ve belirli türlerin "karışımına" göre manuel olarak belirlenir. Ekran görüntüsü örneği, karışımın 2 adımlı 2 şarkı olduğunu, ardından bir vals, ardından 2 adım daha, daha sonra Yavaş bir şarkı vb. Olduğunu gösterir. mekânları.

Sütun Lbaşka bir boşluk sütunu - veri yok

Sütun M, KSütun Nve Sütun içindeki sayılarla belirlenen tür karışımını izlemeye yardımcı olmak için Kolonun renk kodlu bir kopyasıdır F.

Not: Sütunlar H, her konserden önce I, J& - Kyazdırılır - gruptaki her kişi için bir kopya.

Sütun N, Tür Karışımı Şablonu'dur ve Column ile aynı renk kodludur M. Kırmızı = 2 Adımlı, Mavi = Vals, Pembe = Polka, Yeşil = Yavaş ve Siyah = Rock' n Roll. Sayılar elle yazılan ve Master Şarkı Listesinde belirli türün ilk şarkı ile sıralı başlangıçtır (Sütunlar edilir B, Cve Dbu türün son sayısına kadar). Geçerli tür düzeni aşağıdaki gibidir: 2 Adımlı şarkılar 1-53, Polkas 54-68, Rock şarkıları 69-90, Yavaş şarkılar 91-111, Waltz'lar ise 112-120.

Ekran görüntüsünde ilk ve son tür numaralarını izleyen ve özellikle asıl sorumla ilgili olmayan 4 sütun var.

Ekran görüntüsünde görebileceğiniz gibi, "Jerry" J2& içinde J3ve tekrar J7, J8& içinde görünür J9. Ayrıca, "Phil" in J13& içinde göründüğüne dikkat edin J14. Buradaki amaç, mümkün olduğu kadar çok sayıda "satır yinelemesini" ortadan kaldırmaktır. Jerry farklı türlerde 60 şarkı söyler, Chuck 30 şarkı söyler ve Phil 20 şarkı söyler, bu yüzden her sanatçı için yeterli sayıda şarkı olması gerekir ki böylece kopyalar bir sorun çıkmaz.

Orijinal yazımda verilen bilgilerin yetersiz olduğunu fark ettim, ancak umarım bu ek bilgi sorunumun çözümü için bize yardımcı olacaktır. Daha fazla açıklama yapmam gerekirse lütfen bana bildirin.


Yeniden hesaplama için VBA'yı kullanmaktan kaçınırdım çünkü çalışma süresi tamamen şansa bağlı olacak. Eğer yinelenen değerler almaya devam ederseniz, makro yeterince çalışmaya devam eder, muhtemelen yeterince şanssızsanız.
Kyle

Yanıtlar:


0

Bu formülü başka bir sütuna ekleyebilirsiniz (benim durumumda K sütununu kullandım). Önceki değer en yüksek değer değilse, önceki değerle aynıysa değeri bir artırır, sonra bir değerini döndürür. =J1K1'de sadece bu formülü kullanın , sonra bu formülü K2'ye girin ve otomatik doldurun. MAX_VALUEGerçek maksimum değerle değiştirin .

=IF(J2=K1,IF(J2=MAX_VALUE,1,J2+1),J2)

İşte en fazla 10 değer olduğu varsayılarak neye benzediğinin bir örneği:

J    K
2    2
6    6
6    7
7    8
7    7
10   10
10   1
10   10

Önerilen çözüm için teşekkür ederiz, Kyle ancak işi pek yapmaz. Sorun sadece sayıların sıralanmasından biraz daha karmaşık. Genel sorunu daha iyi açıklayabilmem için, elektronik tablomun ekran görüntüsünü göndermemin bir yolu var mı?
B. Turner

@ B.Turner Sorunuzu imgur gibi bir sitedeki resminize bir link ile düzenleyebilirsiniz.
Kyle

Bunu nasıl yapacağımdan emin değilim, Kyle. Bir toplantı yaptığım ve önümüzdeki birkaç saat boyunca 'cebimde' olacağı için bunu daha sonra almak zorunda kalacağız. Umarım geri döndüğümde ne demek istediğini anlayabilirim. Teşekkürler.
B. Turner

SuperUser'ı ilk kez kullanmaya başladığım ve site protokolü, kuralları ve prosedürleri tam olarak bilmediğim için, herkesi kızdırmadığımı umuyorum. Olursa özür dilerim. Sorumu sunmama izin verdiğiniz için teşekkür ederiz.
B. Turner
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.