• DİKKAT

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

Parça al topla çarp

  • Konbuyu başlatan Konbuyu başlatan Usyk
  • Başlangıç tarihi Başlangıç tarihi
Katılım
20 Temmuz 2006
Mesajlar
171
Excel Vers. ve Dili
Office 2016 Tr
Merhaba,

A1 hücresinde = &2&15&4 '& sembolü arasında üç sayı var
B1 hücresinde = &55&150&1500 '& sembolü arasında üç sayı var

şeklinde verilerim var. Bu sayılar üçten fazla olabilir ancak A1 ve B1 hücrelerindeki sayılar eşit sayıda devam eder.

C1 hücresine A1 ve B1 hücrelerindeki ilk sayıların çarpımı + A1 ve B1 hücrelerindeki ikinci sayıların çarpımı + A1 ve B1 hücrelerindeki üçüncü sayıların çarpımını
yani
C1=(2*55)+(15*150)+(4*1500)
C1=110+750+6000

sonuç olarak:
C1=6860 sayısını yazdırmak istiyorum.

Yardımcı olabilirseniz sevinirim.
 
Sonuç: 8360 çünkü; 15*150=2250 dir.

Kod:
Sub Test()
    x1 = Split(Range("A1"), "&")(1) * Split(Range("B1"), "&")(1)
    x2 = Split(Range("A1"), "&")(2) * Split(Range("B1"), "&")(2)
    x3 = Split(Range("A1"), "&")(3) * Split(Range("B1"), "&")(3)
    
    Range("C1") = x1 + x2 + x3
End Sub

.
 
Sonuç: 8360 çünkü; 15*150=2250 dir.

Kod:
Sub Test()
    x1 = Split(Range("A1"), "&")(1) * Split(Range("B1"), "&")(1)
    x2 = Split(Range("A1"), "&")(2) * Split(Range("B1"), "&")(2)
    x3 = Split(Range("A1"), "&")(3) * Split(Range("B1"), "&")(3)
   
    Range("C1") = x1 + x2 + x3
End Sub

.
Haluk bey hemen deniyorum. Bu arada hiç affetmiyorsunuz :)
 
Yok canım, sadece gözle basit bir kontrol.....

15*150 = 15*15*10

Yani 15'in karesini alıp, 10 ile çarpıyoruz.

Sonu 5 ile biten sayıların karesini almak için; 5'ten önceki sayıyı kendisinden sonra gelen tamsayı ile çarpıp sonuna 25 ekleriz.

Yani; 15 sayısında 5'ten önceki sayı 1 ve 1 sayısından sonraki tamsayı 2 olduğuna göre 1*2=2 . Bu sonucun sonuna da 25 eklersek; 225

Bu sonucu da 10 ile çarparsak, 225*10=2250

.
 
Rakam sayıları en fazla 10 adet olabiliyor.
x1, x2 .....x10 şeklinde yazdım, ama az olduğunda hata veriyor.
For next döngüsüyle yazamadım.
 
......
For next döngüsüyle yazamadım.


Bunu deneyin;

Kod:
Sub Test2()
    x = Split(Range("A1"), "&")
    y = Split(Range("B1"), "&")
   
    For i = 1 To UBound(x)
        xSum = xSum + x(i) * y(i)
    Next
   
    Range("C1") = xSum
End Sub

.
 
Haluk hocam çok teşekkür ederim.
 
Geri
Üst