Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [VBA] Υπολογισμός αθροίσματος

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 15-07-18, 14:03
Όνομα: ΔΗΜΗΤΡΗΣ
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 01-08-2011
Μηνύματα: 126
Προεπιλογή Υπολογισμός αθροίσματος

Θα ήθελα αν είναι δυνατό στις υπόλοιπες στήλες B , C κτλ να εμφανίζονται τα αποτελέσματα όπως στην στήλη Α για τις τιμές του χ=2,3 ...100.
Ευχαριστώ πολύ !
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm ΥΠΟΛΟΓΙΣΜΟΣ ΑΘΡΟΙΣΜΑΤΟΣ.xlsm (37,5 KB, 13 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη ΔΗΜΗΤΡΙΟΣ : 15-07-18 στις 16:05.
Απάντηση με παράθεση
  #2  
Παλιά 15-07-18, 17:07
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλησπέρα.
Αν κατάλαβα καλά,θέλουμε να υπολογίσουμε την απόλυτη τιμή |Χ-1|+|Χ-2|...|Χ-100|
όπου ο Χ θα παίρνει διαδοχικά τιμές 1,2,...100
και για κάθε μια από τις τιμές αυτές, θέλουμε το αποτέλεσμα σε στήλες
από την a=1 και δεξιά (a,b,c....) από το κελί a1,b1,c1... και κάτω.

Μπορείς να χρησιμοποιήσεις τον πιο κάτω κώδικα:
Κώδικας:
Sub ColumnFill_X()
    Dim x As Integer    'Ο x θα πάρει την τιμή της στήλης
    Dim irow As Integer    'Το irow θα πάρει την τιμή της γραμμής
    Dim iResult As Double    ' Είναι το αποτέλεσμα

    Application.ScreenUpdating = False

    For x = 1 To 100
        For irow = 1 To 100
            iResult = 0
            iResult = x - irow
            Sh1.Cells(irow, x).NumberFormat = "General"
            Sh1.Cells(irow, x).Value = Abs(iResult)
        Next irow
        Sh1.Cells(irow, x).FormulaR1C1 = "=SUM(R[-100]C:R[-1]C)"
    Next x
End Sub
Η γραμμή:
Sh1.Cells(irow, x).FormulaR1C1 = "=SUM(R[-100]C:R[-1]C)"
δίνει το άθροισμα στήλης και είναι προαιρετικό, αν θέλει να την εντάξει κανείς στην ρουτίνα.
Απάντηση με παράθεση
  #3  
Παλιά 15-07-18, 18:00
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Στο βιβλίο, η λύση με τον κώδικα και μια λύση με τύπους =row() και =column()
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm Άθροισμα Απόλυτων Τιμών.xlsm (114,9 KB, 26 εμφανίσεις)
Απάντηση με παράθεση
  #4  
Παλιά 15-07-18, 18:56
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Μια άλλη απλή πρόταση.

Έχω δημιουργήσει με τον παρακάτω κώδικα:
Κώδικας:
Public Function SUMAbs(x As Variant) As Long
    Dim i As Long, sum As Long
    For i = 1 To 100
        sum = sum + Abs(x - i)
    Next
    SUMAbs = sum
End Function
μια συνάρτηση χρήστη, την SUMAbs(x) .

Η συνάρτηση παίρνει ως όρισμα μία τιμή x (πχ 10) και επιστρέφει το άθροισμα των απόλυτων τιμών:

|x-1| + |x-2| + ...+ |x-100|

Δημήτρη, δες το συνημμένο.
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm SUMAbs.xlsm (43,0 KB, 9 εμφανίσεις)
Απάντηση με παράθεση
  #5  
Παλιά 15-07-18, 19:27
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Στο συνημμένο έχω προσθέσει και μια απλή λύση με τη συνάρτηση SUMPRODUCT.

Επίσης και ένα διάγραμμα που δείχνει πως μεταβάλλεται το άθροισμα με το x
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm SUMAbs2.xlsm (46,9 KB, 20 εμφανίσεις)
Απάντηση με παράθεση
  #6  
Παλιά 15-07-18, 19:31
Όνομα: ΔΗΜΗΤΡΗΣ
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 01-08-2011
Μηνύματα: 126
Προεπιλογή

Πολύ καλό και γρήγορο Γιωργο
Να είσαι καλά.
Σε ευχαριστώ !

Τελευταία επεξεργασία από το χρήστη ΔΗΜΗΤΡΙΟΣ : 15-07-18 στις 21:32.
Απάντηση με παράθεση
  #7  
Παλιά 15-07-18, 19:48
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Δημήτρη, εκτός από την πρόταση του Σπύρου, υπάρχει και μία από μένα (Γιώργος).

Ελπίζω να τη δεις .....
Απάντηση με παράθεση
  #8  
Παλιά 15-07-18, 19:53
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

1
Το φύλλο, είναι ένα κενό φύλλο, στο οποίο,
έχουμε απλά μετονομάσει το κωδικό του όνομα σε Sh1 (*βλέπε εικόνα).

Αν δεν θέλουμε να μετονομάσουμε (προσωπικά πάντα μετονομάζω) αλλάζουμε στον κώδικα,
όπου Sh1, το κωδικό όνομα του φύλλου, που θα εφαρμόζεται ο κώδικας.

Ακόμα, μπορούμε να αλλάξουμε σε ActiveSheet, αρκεί το φύλλο να είναι ενεργό.

2
Η συνάρτηση ABS(COLUMN()-ROW())
δίνει το =Abs() στην εκάστοτε στήλη - γραμμή που εφαρμόζεται.
Η = Column() αποδίδει την στήλη πχ ενός κελιού (παίρνει τιμή για τον Χ)
Η = Row() αποδίδει την γραμμή πχ ενός κελιού (παίρνει τιμή για το -1,-2...)

3
Στις λύσεις που παραθέτω, θεωρώ ότι ο χρήστης, θα ήθελε να δει και το ανάπτυγμα, εκτός από το άθροισμα...
Συνημμένα Thumbnails
Υπολογισμός αθροίσματος-screenshot_1.jpg  

Τελευταία επεξεργασία από το χρήστη Spirosgr : 16-07-18 στις 19:13. Αιτία: Προσθήκη διευκρίνησης
Απάντηση με παράθεση
  #9  
Παλιά 15-07-18, 21:27
Όνομα: ΔΗΜΗΤΡΗΣ
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 01-08-2011
Μηνύματα: 126
Προεπιλογή

και πάλι ευχαριστώ !
Απάντηση με παράθεση
  #10  
Παλιά 15-07-18, 21:30
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Να 'σαι καλά, καλή συνέχεια.
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] υπολογισμός αθροίσματος από συγκεκριμένο σημείο αναφοράς pierta Excel - Ερωτήσεις / Απαντήσεις 2 26-05-18 09:52
Αποτροπή αρνητικού αθροίσματος σε Πίνακα dimitrisp Access - Ερωτήσεις / Απαντήσεις 3 01-03-18 00:20
[ Ερωτήματα ] ΕΜΦΑΝΙΣΗ ΑΘΡΟΙΣΜΑΤΟΣ ΑΠΟ ΠΙΝΑΚΑ Alexandraadami Access - Ερωτήσεις / Απαντήσεις 11 22-07-15 09:57
[Συναρτήσεις] Συνάρτηση υπολογισμού μερικού αθροίσματος George R Excel - Ερωτήσεις / Απαντήσεις 13 02-07-13 06:22
[ Φόρμες ] Αποθήκευση ενός πεδίου αθροίσματος σε άλλο πεδίο !!! artchrist73 Access - Ερωτήσεις / Απαντήσεις 3 11-04-13 06:32


Η ώρα είναι 11:12.