N kere hesaplama yapın ve sonuçları toplayın (VBA'sız)


1

Verilen, isteğe bağlı olarak büyük sayıda yapılan bir hesaplamanın sonucunu toplamanın bir yolunu arıyorum.

Her biri 100 - 200 $ arasında harcayacak 15.000 müşterim olduğunu ve toplam geliri hesaplamak istediğimi varsayalım.

Bu yüzden Int (Randbetween (100,200)) 15.000 kez hesaplamak ve sonuçları toplamak istiyorum.

Çeşitli nedenlerden dolayı bunu yapmak istemiyorum: - formülü 15.000 hücrede tekrarlamak - dairesel bir referans ve Excel'in yerleşik yinelemesini kullanarak - VBA kodunu kullanarak - Monte Carlo eklentisini kullanarak

Basit ve zarif bir çözüm olduğuna dair bir fikrim var ama beni rahatsız etti.


Powershell'e yaslanabilirsiniz. Hesaplamayı yapmak için hangi işletim sistemi kullanılacak?
root,

Teşekkürler, ancak Powershell'de komut dosyası yazacak olsaydım, VBA'yi de kullanabilirim. Sadece standart Excel kitini kullanan bir çözüm umuyorum.
TvG

Hayır, bu VBA olmadan excel olmadan mümkün değildir. Daha fazla bilgi için bakınız
Raystafarian

Formülünüze bağlı olarak bir 'tek hücreli dizi formülü' olarak yeniden çalışabilirsiniz , ayrıntılar için office.microsoft.com/en-us/excel-help/… adresine bakın.
AVE

Sadece açık olmak gerekirse: değerler sadece 100-200 dahil olmak üzere tam sayılar mı olacak?
XOR LX

Yanıtlar:


1

Bu hesaplamanın bir hücrede çalışması için, rastgele doldurulan dizinin, her satırda farklı bir sayı ile doldurulması gerekir. Söyleyebileceğim kadarıyla, Excel bu şekilde çalışmıyor. RANDBETWEEN () formülü, dizinin her satırında aynı sayıyı kullanır.

Örneğin:

Aşağıdaki formülü boş bir çalışma sayfasındaki hücreye girdim.

= RANDBETWEEN (100,200) ve A1: A10

Formülün tamamını vurguladım ve formül çubuğunda hesaplamak için F9 tuşuna basın. Excel döndü:

{ "180"; "180", "180", "180", "180", "180", "180", "180", "180", "180"}

Excel'i her satırda yeni bir sayı oluşturmaya zorlayan bir formül varsa, kullanılabilir.


0

Sayfanızın A sütununun , 100 ile 200 arasında 15.000 rasgele sayının toplamını hesaplamak için aşağıdaki formülü kullanabileceğiniz herhangi bir veri içermediğini varsayalım.

Bu formülü B1 hücresine yerleştirin

=SUMPRODUCT(($A1:$A15000="")*RANDBETWEEN(100,200))

A sütununu kullanıyorsanız , tüm satırların seçtiğiniz sütunda boş kalması gerektiğinden, onu gizlemenizi öneririm. Bu nedenle, ZZ gibi bir sütun ya da en son kullanılabilir sütunu kullanmaya başlayabilirim .

İlave:

Alternatif olarak, bu değişkenlerinizi değiştirmek konusunda daha iyi bir çözüm gibi görünebilir:

SUMPRODUCT((OFFSET($A$1,,,15000)="")*RANDBETWEEN(100,200))

Randbetween'in sadece bir kez değerlendirildiğine inanıyorum, bu yüzden bu etkili = randbetween (100,200) * 15000 oldu.
gtwebb 19:14

İyi deneme, ama gtwebb ve Nick ile aynı fikirdeyim. Hem değişkenlerinizi hem de kendimden birkaçını denedim, ve tekrarlanan değerlendirmelerde (F9), her zaman 15000'in bir katına sahip oldum. Bu, OP'nin istediği şeyi yapması halinde sınırsızdır. Bunun yerine, rastgele bir sayı seçmeli ve 15000 kopyasını eklemeli - gerçekte, 15000 ile çarpmalı. Ve "Formülü Değerlendir" bunu onaylar.
G-Man

İlginç, bunu belirttiğiniz için teşekkür ederiz! En bariz olanı görmezden geliyordum: Matematiksel olarak, RANDBETWEEN (a, b) değeri ne kadar fazla hesaplanırsa, çözüm o kadar çok (a + (ba) / 2) * n yönüne sahip olmalıdır. Yani orijinal durumda 150 * 15,000. 15.000 kez hesaplanırken, 100 ile 200 arasında ortalama 15.000 rasgele sayı kullanma ile 150'yi kullanma arasındaki farkın önemsiz olduğunu ve daha basit olan formülü tercih edeceğini söyleyebilirim.
CallumDA
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.