Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Συναρτήσεις] Μέγιστο σύνολο συνεχόμενων κελιών. (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/2423-megisto-sinolo-synexomenon-kelion.html)

Eleniath 17-03-13 11:23

Μέγιστο σύνολο συνεχόμενων κελιών.
 
Καλημέρα σας.

Αυτή την φορά, θα ήθελα την βοήθειά σας στο εξής:

Στην στήλη Α, υπάρχουν σε όλα(Α1:Α100-Με προοπτική επέκτασης) τα κελιά, αριθμοί.

Τα ζητούμενα είναι:

1) Ποιο είναι το μεγαλύτερο(MAX) σύνολο "X" συνεχόμενων κελιών στην στήλη Α.(Ας πούμε 10 συνεχόμενων)
2) Σε ποια γραμμή ξεκινάει η παραπάνω άθροιση.

gr8styl 17-03-13 17:49

Ελένη δεν είναι σαφές το ζητούμενο (τουλάχιστον για μένα)

Ανέβασε ένα παράδειγμα με δεδομένα και αναμενόμενο αποτέλεσμα για να το κατανοήσουμε.

Θανάσης

Eleniath 17-03-13 22:45

1 Συνημμένο(α)
Εδώ είναι Θανάση.

gr8styl 17-03-13 23:38

Μια πρόταση είναι:
b1=SUM(a1:a10) και αντιγραφή μέχρι το τέλος της λίστας που έχεις στην στήλη Α
Έτσι
1ο αναμενόμενο αποτέλεσμα =Max(b:b)
2ο αναμενόμενο αποτέλεσμα =MATCH(MAX(b:b);b:b;0)

αν θέλεις το 10 κελιά σαν παράμετρο βάλε στο b1=SUM(OFFSET(a1;;;παράμετρος;1))

Μήπως δεν έχω καταλάβει κάτι;

Eleniath 18-03-13 09:50

Καλημέρα σας.

Κώδικας:

...Μήπως δεν έχω καταλάβει κάτι;
Θανάση μια χαρά τα κατάλαβες και σε ευχαριστώ πολύ.. Οι 2 τύποι σου, χρησιμοποιώντας την βοηθητική στήλη δίνουν το ζητούμενο αποτέλεσμα.

Θα μπορούσε να γίνει και χωρίς βοηθητική στήλη(Β);

kapetang 19-03-13 08:27

1 Συνημμένο(α)
Καλησπέρα

Ελένη, στο επισυναπτόμενο αρχείο υπάρχει μία υλοποίηση του ζητούμενου, χωρίς βοηθητική στήλη, αλλά με VBA.

Επιχείρησα επίσης, χρησιμοποιώντας τη λογική της μεθόδου που παρουσίασε ο Θανάσης, να δημιουργήσω τύπους, οι οποίοι να δίνουν το ζητούμενο, αλλά κόλλησα.

Στο αρχείο περιγράφω αναλυτικά το πρόβλημα και θα παρακαλούσα τα μέλη του φόρουμ και ιδίως τους ειδικούς, για μια εξήγηση.

Φιλικά/Γιώργος

gr8styl 19-03-13 09:03

Γιώργο το πρόβλημα με την {=SUM(OFFSET(A1:A50;ROW(1:41)-1;;10;1))} είναι ότι ναι μεν δίνει τα σωστά αποτελέσματα όχι όμως σε μορφή πίνακα {375,425,475,...} για να μπορέσεις να εφαρμόσεις max ή large(..;1)

Θα το παλέψω και εγώ αλλά δεν μου φαίνεται υγροποιήσιμο με τύπο πίνακα :confused1:

Τα λέμε
Θανάσης

kapetang 19-03-13 09:21

Θανάση, ευχαριστώ.

Οδυσσέας 19-03-13 10:17

Καλημέρα και από εμένα.

Η δική μου προσέγγιση στο θέμα με Array Formulas.

1)
Κώδικας:

=MAX(SUBTOTAL(9;OFFSET(A1;ROW(A1:A1000)-1;0;10;1)))
2)
Κώδικας:

="Γραμμή"&"  "&MAX(IF(INDEX(SUBTOTAL(9;OFFSET(A1;ROW(A1:A1000)-1;0;10;1));)=MAX(SUBTOTAL(9;OFFSET(A1;ROW(A1:A1000)-1;0;10;1)));ROW($1:$1000);""))
Και στους 2 τύπους, μπορεί να αντικατασταθεί ο αριθμός 10 με αναφορά σε ένα κελί, στο οποίο θα πληκτρολογείται ο εκάστοτε αριθμός κελιών για τον οποίο αναζητούμε το μαξιμουμ. Π.χ

Κώδικας:

=MAX(SUBTOTAL(9;OFFSET(A1;ROW(A1:A1000)-1;0;D1;1)))
όπου στο D1, πληκτρολογούμε ή χρησιμοποιούμε Validation List, τον αριθμό των κελιών που θέλουμε να μετρήσουμε.

Τι λέτε;

kapetang 19-03-13 14:50

Καλησπέρα στην παρέα

Οδυσσέα, συγχαρητήρια.

Χαίρομαι για την ενεργή συμμετοχή σου στο φόρουμ και εύχομαι να τη συνεχίσεις.

Στο Profile σου αυτοχαρακτηρίζεσαι αρχάριος, γεγονός που δε συμφωνεί με τις γνώσεις σου.
Θα πρότεινα να το αναβαθμίσεις.

Φαίνεται ότι η συνάρτηση Sum και Subtotal(9), λειτουργούν διαφορετικά.

Για τα συγκεκριμένα δεδομένα (Α1:Α50 σε ομάδες 10 κελιών) θα πρότεινα:

1) Για το μέγιστο άθροισμα: =MAX(SUBTOTAL(9;OFFSET(A1;ROW(1:41)-1;0;10;1)))

2)Για τη γραμμή: =ROW(INDEX(A1:A41;MATCH(M4;(SUBTOTAL(9;OFFSET(A1;R OW(1:41)-1;0;10;1)));0))).

Μ4 είναι το κελί στο οποίο βρίσκεται ο πρώτος τύπος που δίνει το μέγιστο άθροισμα.

Φιλικά/Γιώργος


Η ώρα είναι 18:55.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2