Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Συναρτήσεις] Πρόσθεση των 10 μικρότερων τιμών σε μία στήλη. (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/1910-prosthesi-ton-10-mikroteron-timon-se-mia-stili.html)

Οδυσσέας 03-06-12 00:09

Πρόσθεση των 10 μικρότερων τιμών σε μία στήλη.
 
Καλημέρα σας.

Μία ίσως απλή ερώτηση, θέλω να κάνω.

Στη στήλη Α απο Α1 έως Α100, ας πούμε, έχω αριθμούς.

Υπάρχει κάποιος τύπος που να μου δίνει το άθροισμα των 10 μικρότερων τιμών σε αυτή την περιοχή;

Ευχαριστώ εκ των προτέρων.

nasos23 03-06-12 06:00

Καλημέρα σε όλους.
Οδυσσέα καλωσόρισες στην παρέα μας.

Δοκίμασε αυτό:
Κώδικας:

=SUM(SMALL($A$1:$A$100;{1;2;3;4;5;6;7;8;9;10}))
Φιλικά
Νάσος

chris1978 03-06-12 07:03

1 Συνημμένο(α)
Καλημέρα
Eίναι ο ίδια συνάρτηση που πρότεινε ο Νάσος απλά μέσα σε παράδειγμα.

Spirosgr 03-06-12 07:43

1 Συνημμένο(α)
Οδυσσέα Καλημέρα και καλώς ήρθες στην παρέα
Στο φύλλο που ακολουθεί θα δεις 4 εναλλακτικές μεθόδους για το ζητούμενο σου
Όλες δίνουν το ζητούμενο με την 3η μέθοδο να είναι η πιό ευέλικτη
Καλή συνέχεια

Οδυσσέας 03-06-12 10:33

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

Σας ευχαριστώ πολύ όλους και για το καλοσώρισμα και για τις λύσεις σας, οι οποίες ΟΛΕΣ δουλεύουν σωστά.
Συγνώμη αλλά δεν διατύπωσα σωστά την ερώτηση.
Θα ήθελα την πρόσθεση των 10 μικρότερων μοναδικών τιμών. Ο κάθε αριθμός, να λαμβάνεται υπόψιν ΜΟΝΟΝ μία φορά.
Μπορεί να γίνει;:frown:

Spirosgr 03-06-12 11:42

Επειδή είναι τελείως διαφορετική περίπτωση η μία από την άλλη
και με την παράκληση να είσαι σαφέστερος την επόμενη φορά
Η λύση στο πρόβλημα σου είναι η εξής:

Δημιουργείτε μια στήλη βοηθητική έστω Β1:B10
Σε κάθε κελί μπαίνει ένας αριθμός από το 1 έως το 10
Ο τύπος
=INDEX(summary_area;SMALL(IF(FREQUENCY(summary_are a;summary_area);ROW(summary_area)-ROW($A$1)+1);B1))
μπαίνει δίπλα στην βοηθητική στήλη στο C1 κελί
Ο τύπος εισάγετε με CTRL + SHIFT + ENTER
Σύρουμε κάτω
Έτσι έχουμε τις 10 μοναδικές μικρότερες τιμές και
Αθροίζουμε με SUM
Σημείωση:
Το πόσο θα σύρουμε κάτω εξαρτάτε από το πόσες τιμές θέλουμε να αθροίσουμε
πχ μέχρι το 7 οι 7 μικρότερες μοναδικές τιμές

gr8styl 03-06-12 13:31

Καλημέρα/καλησπέρα.
Καλώς όρισες Οδυσσέα.
Εγώ νομίζω ότι ακόμη δεν είναι απόλυτα σαφές το ζητούμενο. Γιαυτό παραθέτω δύο λύσεις

1) Αν θέλουμε το άθροισμα των 10 μικρότερων μοναδικών τιμών της λίστας ( δηλαδή των τιμών που υπάρχουν μια μόνο φορά), ο τύπος πίνακα
{=SUM(SMALL(IF(COUNTIF(A:A;A:A)=1;(A:A));ROW(1:10)))}
με την προϋπόθεση ότι υπάρχουν τουλάχιστον 10 μοναδικές τιμές.
Σημ τύπος πίνακα σημαίνει καταχώρηση με Ctrl+Shift+Enter και όχι σκέτο Enter. Τις { } δεν τις γράφουμε δημιουργούνται μόνες τους μετά την καταχώρηση

2) Αν πάλι θέλουμε το άθροισμα των 10 μικρότερων τιμών αλλά μια φορά η κάθε μία, χρησιμοποιούμε βοηθητική στήλη
Αν η λίστα είναι στην στήλη Α, τότε στο C1 βάζουμε τον απλό τύπο
=IF(AND(ISNUMBER(A1);COUNTIF(A$1:A1;A1)=COUNTIF(A: A;A1));A1;"")
και αντιγράφουμε προς τα κάτω μέχρι το τέλος της λίστας μας.
Η συνάρτηση που δόθηκε στην αρχή του θέματος από τον Νάσο, μας δίνει το άθροισμα.
Εναλλακτικά την κάνουμε συνάρτηση πίνακα (Ctrl+Shift+Enter)
{=SUM(SMALL(C:C;ROW(1:10)))} που προσωπικά την βρίσκω πιο κομψή.

Άλλη προσέγγιση είναι αξιοποιώντας την συνάρτηση RANK

Φιλικά
Θανάσης

Οδυσσέας 04-06-12 00:13

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

Παράθεση:

Aπό spirosgr
..Επειδή είναι τελείως διαφορετική περίπτωση η μία από την άλλη:.....
Η λύση με τις 2 βοηθητικές στήλες που μου πρότεινες, δουλεύει και σε ευχαριστώ για αυτό.
Εντελώς διαφορετική περίπτωση;;; Για να το λέει αυτό ένας Super Moderator του Φόρουμ, μάλλον θα είναι έτσι.
Παράθεση:

..και με την παράκληση να είσαι σαφέστερος την επόμενη φορά...
Με την δική μου παράκληση να είσαι λιγότερο αυστηρός την επόμενη φορά(Θυμήθηκα τον Δάσκαλό μου στο Δημοτικό) με δεδομένα και 2 άλλα πράγματα.
1) Δεν έχω εμπειρία και δεν ξέρω πως "κινούνται" τα φόρουμ...
2) Κατανοώντας ότι έθεσα λάθος το θέμα, στην απάντησή μου, ζήτησα συγνώμη
Παράθεση:

...Συγνώμη αλλά δεν διατύπωσα σωστά την ερώτηση.
Έπρεπε να κάνω και κάτι άλλο που δεν το έκανα;;

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

=IF(AND(ISNUMBER(A1);COUNTIF(A$1:A1;A1)=COUNTIF(A: A;A1));A1;"")

Μάλλον κάτι κάνω λάθος....

Ευχαριστώ πολύ.

gr8styl 04-06-12 08:04

Παράθεση:

Αρχική Δημοσίευση από Οδυσσέας (Μήνυμα 11260)
Θανάση,ευχαριστώ πολύ για την απάντησή σου. Προφανώς απο δικό μου λάθος, δεν είμαι σε θέση να δουλεψει αυτός ο τύπος.

=IF(AND(ISNUMBER(A1);COUNTIF(A$1:A1;A1)=COUNTIF(A: A;A1));A1;"")

Μάλλον κάτι κάνω λάθος....

Ευχαριστώ πολύ.

Αγαπητέ Οδυσσέα,
δεν φταις εσύ αλλά ο δαίμονας του Copy/Paste (κατά το "ο δαίμονας του τυπογραφείου").

σβήσε το διάστημα μεταξύ ":" και "A" στην δεύτερη COUNTIF έτσι δηλαδή
Κώδικας:

=IF(AND(ISNUMBER(A1);COUNTIF(A$1:A1;A1)=COUNTIF(A:A;A1));A1;"")
Καλή βδομάδα σε όλους και όλες.

Θανάσης

Spirosgr 04-06-12 12:11

Καλημέρα
Δεν υπάρχει πρόθεση να "μαλώσω" κάποιον φίλε Οδυσσέα αλλά όπως ξέρεις η Ελληνική γλώσσα είναι περίεργη και πλούσια...
Από την εποχή του <<ηξεις, αφήξεις>> ένα κόμμα έπαιζε σημαντικό ρόλο στην έννοια των προτάσεων πόσο μάλλον μια λέξη
Άλλο πράγμα λοιπόν 10 μικρότερες τιμές (όπως άλλωστε αναφαίρετε και στον τίτλο ) και άλλο πράγμα 10 μικρότερες μοναδικές τιμές
Η διαφορετικότητα φαίνεται άλλωστε και από την "κατασκευή" των τύπων
Σε κάθε περίπτωση το να είναι η ερώτηση σαφής βοηθάει όλους
Χαίρομαι που σε βοήθησα πάντως και θα το ξανακάνω ευχαρίστως αν ζητηθεί

Οδυσσέας 04-06-12 21:19

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

Φίλοι μου.

Θανάση, ο "Δαιίμων" παίζει πολλά παιγνίδια, συχνά στη ζωή μας. Σε ευχαριστώ πολύ για την λύση σου.

Σπύρο.

Παράθεση:

...Άλλο πράγμα λοιπόν 10 μικρότερες τιμές (όπως άλλωστε αναφαίρετε και στον τίτλο ) και άλλο πράγμα 10 μικρότερες μοναδικές τιμές
..Σωστά. Έτσι αναφαίρεται, στον τίτλο.. Αλλά,...είπαμε η απειρία...Ευχαριστώ για την λύση αλλά και για την πρόθεση βοήθειας σε επόμενο θέμα..Το βλέπω να έρχεται...

..Εκείνος που μου έδωσε την(κατά την γνώμη μου) την άψογη λύση(χωρίς βοηθητικές στήλες και κατά την ταπεινή μου γνώμη, με έναν άψογα στημένο τύπο) και με έναν ασυνίθιστο τρόπο, ήταν ο Φώτης...

Τι εννοώ;

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

Ομολογώ πως μου κάνει πολύ μεγάλη εντύπωση πως δεν ενεργοποιείται αμέσως ο λογαριασμός ενός ανθρώπου που δείχνει καλός(τουλάχιστον...)γνώστη του θέματος(Excel) την στιγμή που ο δικός μου ενεργοποιήθηκε σε 5 μόλις λεπτά, από την στιγμή που έστειλα ενα προσωπικό μήνυμα στον Κο. Διαχειριστή, ζητώντας μου να μου ανοίξει τον λογαριασμό μου...

Ελπίζω ότι είναι μιά κακή στιγμή και ότι θα διορθωθεί άμεσα...

Παράθεση:

.. Καλησπέρα Οδυσσέα.

Ασυνήθιστος τρόπος επικοινωνίας για πρόταση λύσης στο θέμα σου, αλλά για κάποιο λόγο, ο λογαριασμός μου δεν ενεργοποιείται. Έχω στείλει ήδη 2 μηνύματα στον Διαχειριστή από το μεσημέρι και περιμένω απάντηση. Τέλος πάντων..

Αν θέλεις δοκίμασε και τις προτάσεις μου που είναι χωρίς την χρήση βοηθητικών στηλών.

=SUM(SMALL(IF(FREQUENCY(A1:A100;A1:A100)>0;A1:A100 );ROW(INDIRECT("1:"&C1)))

ή

=SUM(SMALL(IF(FREQUENCY(Area;Area)>0;Area);{1;2;3; 4;5;6;7;8;9;10})

ή

=SUM(SMALL(IF(FREQUENCY(Area;Area)>0;Area);ROW(IND IRECT("1:"&C1))))

Array formula.

Αν στο μεταξύ, ενεργοποιηθεί ο λογαριασμός μου, θα σου στείλω και δείγμα συνημμένο.

Έχεις το ελεύθερο να χρησιμοποιήσεις την απάντησή μου, σε τυχόν απάντησή σου στο φόρουμ.
Οί τύποι στα δοκιμαστικά δουλεύουν ΑΨΟΓΑ, Φώτη και σε ευχαριστώ πάρα πολύ. Θα το δοκιμάσω και στο κανονικό και θα σε ενημερώσω.

Οδυσσέας 04-06-12 21:27

Το μήνυμα...

Παράθεση:

..Καλησπέρα Οδυσσέα.

Ασυνήθιστος τρόπος επικοινωνίας για πρόταση λύσης στο θέμα σου, αλλά για κάποιο λόγο, ο λογαριασμός μου δεν ενεργοποιείται. Έχω στείλει ήδη 2 μηνύματα στον Διαχειριστή από το μεσημέρι και περιμένω απάντηση. Τέλος πάντων..

Αν θέλεις δοκίμασε και τις προτάσεις μου που είναι χωρίς την χρήση βοηθητικών στηλών.

=SUM(SMALL(IF(FREQUENCY(A1:A100;A1:A100)>0;A1:A100 );ROW(INDIRECT("1:"&C1)))

ή

=SUM(SMALL(IF(FREQUENCY(Area;Area)>0;Area);{1;2;3; 4;5;6;7;8;9;10})

ή

=SUM(SMALL(IF(FREQUENCY(Area;Area)>0;Area);ROW(IND IRECT("1:"&C1))))

Array formula.

Αν στο μεταξύ, ενεργοποιηθεί ο λογαριασμός μου, θα σου στείλω και δείγμα συνημμένο.

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

kapetang 05-06-12 11:42

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

Με την προϋπόθεση ότι το A1 περιέχει κείμενο και οι 100 αριθμοί είναι στα κελιά A2:A101 και ταξινομημένοι, θα μπορούσε να χρησιμοποιηθεί και ο ακόλουθος τύπος πίνακα.

Παράθεση:

=SUM(SMALL(IF(A2:A101=A1:A100;"";A2:A101);ROW(1:10 )))
Φιλικά/Γιώργος

Fotis1991 05-06-12 11:51

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

Πρώτο μου Post στο Φόρουμ, ελπίζοντας να φανώ χρήσιμος.

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

Όπως βλέπετε το πρόβλημα λύθηκε και ευχαριστώ τον Τάσο(Από ότι έχω διαπιστώσει, μπορούμε να μιλάμε στον Ενικό σε αυτό το Φόρουμ) για αυτό.

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

Οδυσσέας 05-06-12 20:37

Καλησπέρα.

Ομολογώ πως δεν περίμενα τέτοια ανταπόκριση και πάνω από όλα, τέτοιες ςξαιρετικές λύσεις.

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

Οπότε η λύση του Φώτη, που την δοκίμασα και στο πραγματικό μου αρχείο, είναι εκπληκτική και με καλύπτει απόλυτα.

Σας ευχαριστώ όλους για τις σωστές προτάσεις σας και εσένα Φώτη για την λύση στο θέμα μου.


Η ώρα είναι 17:25.

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


Search Engine Optimization by vBSEO 3.3.2