• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Rastgele arada formülü Hk.

silkrblt

Altın Üye
Katılım
6 Şubat 2024
Mesajlar
64
Excel Vers. ve Dili
Microsoft Office Professional Plus 2024-TR
Merhabalar ben 2 adet sayıyı rastgele tek hücreye yazsın istiyorum. Bunu nasıl yapabilirim.
2 Adet parçam var ve bunlara ölçü gircem o da 2 adet olmalı ve rastgele (-2,+2) olmalı
 
(-2;+2) arasında kaç adet istiyorsam o kadar sayı üretsin yani
 
Merhaba,

Bu şekilde işinize yarar mı?

C++:
="("&RASTGELEARADA(-5;-1)&" , "&RASTGELEARADA(1;5)&")"
 
ölçü kontrol benimki 5 adet parça varsa (-2;+2) toleranslı 5 adet sayı yazma. ben hücreye 5 yazdığımda bana rastgele (örneğin ) +1,0,-2,-1,1 gibi 5 adet sayı versin hücre. Bunu büyük bir tabloya rastgele sayı yazdım. ardından birleştir formülünü kullandım ama bu birleştirde tek tek adetleri benim yazmam oyalıyor
 
Kullandığınız ofis sürümü ve dili nedir?
 
Merhaba, profil bilgisi için ilgili konu.
 
Eski sürümlerde çoklu aralık birleştirme işlemi yoktur. Yardımcı sütun kullanarak verileri birleştirebilirsiniz.
 
Makro ile örnek
Modüle ekleyip sayfada =test_rastgele() olarak kullanabilirsiniz.
A1 de yazılı değere göre sayıları yazar.
Kod:
Option Base 1
Function test_rastgele()
Dim s1 As Worksheet, i As Byte, x As Byte, dizi()
Set s1 = ActiveSheet: x = s1.Range("A1")
ReDim dizi(x)
For i = 1 To x
    rastgele = WorksheetFunction.RandBetween(-2, 2)
    dizi(i) = rastgele
Next i
test_rastgele = Join(dizi, ", ")
End Function
250829250830
 
Makro ile örnek
Modüle ekleyip sayfada =test_rastgele() olarak kullanabilirsiniz.
A1 de yazılı değere göre sayıları yazar.
Kod:
Option Base 1
Function test_rastgele()
Dim s1 As Worksheet, i As Byte, x As Byte, dizi()
Set s1 = ActiveSheet: x = s1.Range("A1")
ReDim dizi(x)
For i = 1 To x
    rastgele = WorksheetFunction.RandBetween(-2, 2)
    dizi(i) = rastgele
Next i
test_rastgele = Join(dizi, ", ")
End Function
Ekli dosyayı görüntüle 250829Ekli dosyayı görüntüle 250830
çalıştıramadım bunu detaylı anlatır mısınız size zahmet
 
Merhaba,
- Alt + F11 ile VBA ekranını açın.
- Insert menüsünden Module ekleyin
250853

- Açılan module kodları ekleyin
250854

- Dosyanızı Makro İçerebilen Excel Çalışma Kitabı olarak kayıt edin.
250855

Sonrasında 10 numaralı mesajda belirttiğim gibi sayfada kullanabilirsiniz.
 
Merhaba,
- Alt + F11 ile VBA ekranını açın.
- Insert menüsünden Module ekleyin
Ekli dosyayı görüntüle 250853

- Açılan module kodları ekleyin
Ekli dosyayı görüntüle 250854

- Dosyanızı Makro İçerebilen Excel Çalışma Kitabı olarak kayıt edin.
Ekli dosyayı görüntüle 250855

Sonrasında 10 numaralı mesajda belirttiğim gibi sayfada kullanabilirsiniz.
değer hatası almayı bıraktım ama o sadece a1 hücresi için oluyor ben sürekli olacak bir işlem istiyorum. c2 hücresine geçtiğimde a2 hücresindeki değeri alayım
 
Son düzenleme:
Dosyanızı bu adrese yükleyip paylaşır mısınız?

Ayrıca profil bilginizi de güncellemeniz gerekmektedir.
 
Dosyanızı bu adrese yükleyip paylaşır mısınız?

Ayrıca profil bilginizi de güncellemeniz gerekmektedir.
https://lifeboxtransfer.com/s/bf01b668-00e5-4210-8fda-4fd83ee92bd0
ADET YAZAN KISIMDA Kİ ADET KADAR ÖLÇÜ KONTROL SÜTUNUNDA Kİ YERE YAZSIN İSTİYORUM. SİZİN FORMÜLÜ ÇALIŞTIRDIM AMA O TEK BİR HÜCRE İÇİN GEÇERLİ. BENİM BULDUĞUM ÇÖZÜMDE GÖZÜKÜYORDUR ZATEN O UĞRAŞTIRIYOR ONUN KOLAY YOLU VAR MI DİYE SORMAK İSTEDİM
 
Forum Kuralları
Büyük Harf Kısıtlaması:
- Mesaj yazarken büyük harf kullanmak bağırmak anlamına geleceği için yazılarınızı kesinlikle büyük harf kullanarak yazmayınız.
 
Bu kodları (Ö.K.R) yani sayfa1in kod bölümüne ekleyin.
D sütununda değer yazdıkça hesaplama yapılır ve G sütununa yazılır.
Yardımcı sütun olarak kullandığınız L sütunu ve sonrasındaki formülleri de silebilirsiniz.

Aşağıdaki spoyler butonları ile resimleri açabilirsiniz.
Kod:
Option Base 1
Private Sub Worksheet_Change(ByVal Target As Range)
If Selection.Count > 1 Then Exit Sub

If Target.Column = 4 And Target.Row >= 11 Then
If Target.Value = 0 Then Exit Sub
Application.ScreenUpdating = False
Dim s1 As Worksheet, i As Byte, x As Byte, dizi()
Set s1 = ActiveSheet: x = Target.Value
ReDim dizi(x)
For i = 1 To x
    rastgele = WorksheetFunction.RandBetween(-2, 2)
    dizi(i) = rastgele
Next i
s1.Range("G" & Target.Row) = Join(dizi, ", ")
End If

Application.ScreenUpdating = True
End Sub
250866
250867
 
Bu kodları (Ö.K.R) yani sayfa1in kod bölümüne ekleyin.
D sütununda değer yazdıkça hesaplama yapılır ve G sütununa yazılır.
Yardımcı sütun olarak kullandığınız L sütunu ve sonrasındaki formülleri de silebilirsiniz.

Aşağıdaki spoyler butonları ile resimleri açabilirsiniz.
Kod:
Option Base 1
Private Sub Worksheet_Change(ByVal Target As Range)
If Selection.Count > 1 Then Exit Sub

If Target.Column = 4 And Target.Row >= 11 Then
If Target.Value = 0 Then Exit Sub
Application.ScreenUpdating = False
Dim s1 As Worksheet, i As Byte, x As Byte, dizi()
Set s1 = ActiveSheet: x = Target.Value
ReDim dizi(x)
For i = 1 To x
    rastgele = WorksheetFunction.RandBetween(-2, 2)
    dizi(i) = rastgele
Next i
s1.Range("G" & Target.Row) = Join(dizi, ", ")
End If

Application.ScreenUpdating = True
End Sub
İlk olarak alt+f11 yapıp vba açıyorum
ardından codu yapıştırıyorum burdan sonra bir şeyi yanlış yapıyorum sanırım çünkü formülü girdiğimde gözükmüyor
 
Geri
Üst