rafinos Δημοσ. 19 Ιανουαρίου 2020 Δημοσ. 19 Ιανουαρίου 2020 Έστω ότι έχουμε τα στοιχεία της εικόνα σε ένα αρχείο excel. Υπάρχει τρόπος να παίρνω σε ένα κελί (ας πούμε στο τέλος κάθε γραμμής) κάτι σαν το παρακάτω; (Mn0K0Ti0.0506Ca0.2148Na0.3303Al0.6311Fe1.3252Mg2.2684)(Si8,1580)6,3461Η2Ο Δηλαδή στο τέλος το ποσό του H2O και πριν από αυτό γραμμένα τα υπόλοιπα με αύξουσα σειρά με βάση των αριθμό κάθε στοιχείου (θέλω να φαίνονται κανονικά και οι τίτλοι των στοιχείων όπως το παράδειγμα που έδωσα παραπάνω); Το παράδειγμα είναι το αποτέλεσμα που προκύπτει με βάση την δεύτερη γραμμή του excel που φαίνεται στην εικόνα.
newnick Δημοσ. 19 Ιανουαρίου 2020 Δημοσ. 19 Ιανουαρίου 2020 (επεξεργασμένο) Ψάξε συναρτήσεις sortby και concatenate στο excel εγώ θα το έκανα ως εξής α) θα ταξινομούσα την γραμμή με βάση τις τιμές και θα τις έβαζα στις στήλες K,L,M,N... β) θα χρησιμοποιούσα την concatenate για να "ένωνα" τις τιμές που έχουν τα κελιά Επεξ/σία 19 Ιανουαρίου 2020 από newnick
rafinos Δημοσ. 19 Ιανουαρίου 2020 Μέλος Δημοσ. 19 Ιανουαρίου 2020 Αυτό που λες σκέφτηκα και εγώ, απλά πως θα γίνει να ξέρω ότι πχ το 0 αντιστοιχεί με το "Mn" ώστε να προσθέσω και αυτό στο κείμενο; Δεν είναι πάντα το ίδιο στοιχείο στην ίδια θέση. Επίσης, δεν κατάφερα να κάνω την SORTBY να λειτουργήσει σε row.
newnick Δημοσ. 20 Ιανουαρίου 2020 Δημοσ. 20 Ιανουαρίου 2020 Τότε βάλε και την TRANSPOSE στο κόλπο α) δημιούργησε ένα καινούργιο πίνακα όπου οι γραμμές θα είναι στήλες και οι στήλες γραμμές με την trasnpose β) κάνε sortby στον καινούργιο πίνακα (ΠΡΟΣΟΧΗ σε μένα υπάρχει μόνο στο OFFICE 365 όχι στο 2019!?!?!!?) γ) κάνε concate στον ταξινομημένο πίνακα σου έχω μια εικόνα απο ένα απλό παράδειγμα που έκανα (μπλε αρχικός απο κάτω transposed κόκκινος ταξινομημένος και υπογραμμισμένο το τελικό συννενωμένο) βοήθεια για transpose εδώ βοήθεια για sortby εδώ
rafinos Δημοσ. 20 Ιανουαρίου 2020 Μέλος Δημοσ. 20 Ιανουαρίου 2020 Δεν μου βγαίνει (άσε που δεν έχω την SORTBY). Απλά μάλλον για να γίνει ακριβώς όπως το θέλω πρέπει να χρησιμοποιηθεί και vbscript. Ή απλά δεν τα κατανοώ τόσο καλά. Για την ιστορία η TRANSPOSE δεν μου λειτούργησε σε EXCEL, ενώ έκανα την δοκιμή σε GOOGLE Sheets και λειτούργησε κανονικά. Όπως και να έχει σε ευχαριστώ πάρα πολύ για τον χρόνο σου.
demessakis Δημοσ. 20 Ιανουαρίου 2020 Δημοσ. 20 Ιανουαρίου 2020 Λοιπόν, έπαιξα λίγο με αυτά που ζητάς και η πρότασή μου είναι η εξής: 1. Φτιάχνεις ένα rank system αναλόγως των τιμών σε κάθε σειρά. 2. Δημιουργείς ένα index/match, που να επιστρέφει τα στοιχεία αναλόγως το rank. 3. Ένα τελευταίο index/match, που να επιστρέφει τις τιμές αναλόγως των δεδομένων του 2. 4. Ένα concatenate που να βγάζει το επιθυμητό αποτέλεσμα. Spoiler Εφόσον το H2O το θέλουμε χώρια, τότε θα κάνουμε τα παραπάνω για 9 στήλες, αντί για 10. 1. Βάζεις σε παραδίπλα στήλη την συνάρτηση (ας πούμε στην L2): =RANK.EQ(A2;$A2:$I2;1)+COUNTIF($A2:A2;A2)-1 και την σέρνεις μέχρι το T2. 2. Παραδίπλα (π.χ. V2), βάζεις την συνάρτηση: =INDEX($A$1:$I$4;1;MATCH(COLUMN(A1);$L2:$T2;0)) και την σέρνεις μέχρι το AD2. 3. Ας πούμε στο AF2, βάζεις την συνάρτηση: =INDEX($A$1:$I$4;ROW(A2);MATCH(V2;$A$1:$I$1;0)) και την σέρνεις μέχρι το AN2. 4. Και τέλος παραδίπλα, βάζεις την συνάρτηση: ="("&CONCATENATE(V2;AF2;W2;AG2;X2;AH2;Y2;AI2;Z2;AJ2;AA2;AK2;AB2;AL2;AC2;AM2;")";"(";AD2;AN2;")")&J2&$J$1 και παίρνεις το αποτέλεσμα που επιθυμείς. Υποσημειώσεις: Η παραπάνω συνάρτηση για το rank, όταν έχουμε 2 ίδιες τιμές (π.χ. τα Mn και K του αρχικού μηνύματος), τοποθετεί πάντα πρώτο αυτό που βρίσκεται αριστερότερα. Τυχόντες ίσες τιμές που βρίσκονται δεξιότερα, λαμβάνουν +1 θέση στην κατάταξη. Για πίνακα, έχω βάλει από A1:I4. Αν χρειάζεσαι μεγαλύτερο, θα πρέπει να αλλάξεις και τις συναρτήσεις. Στο αρχικό μήνυμα, έχεις το πυρίτιο σε χωριστή παρένθεση. Αν το θες να είναι μαζί με τα άλλα στοιχεία, πείραξε λίγο την concatenate. Για λόγους ευκολίας, τα Fe3+ και H2O-, αναγράφονται πλήρως. Οι συναρτήσεις είναι έτσι φτιαγμένες, ώστε να μπορείς να τις σύρεις προς τα κάτω. Με ομαδοποίηση ή απόκρυψη, οι έξτρα στήλες μπορούν να κρυφτούν. 1
rafinos Δημοσ. 20 Ιανουαρίου 2020 Μέλος Δημοσ. 20 Ιανουαρίου 2020 Σε ευχαριστώ πάρα πολύ για τον χρόνο σου! Αναλυτικότατος! 1
demessakis Δημοσ. 21 Ιανουαρίου 2020 Δημοσ. 21 Ιανουαρίου 2020 Η concatenate, δουλεύει και με τον παραπάνω τρόπο, αλλά μπορεί να μπει και ως εξής (το αποτέλεσμα είναι το ίδιο, απλά λόγω βιασύνης...): ="("&CONCATENATE(V2;AF2;W2;AG2;X2;AH2;Y2;AI2;Z2;AJ2;AA2;AK2;AB2;AL2;AC2;AM2;")";"(";AD2;AN2;")";J2;$J$1) Για το πυρίτιο, είχα κάνει λάθος. Μόνο την μεγαλύτερη τιμή όλων εκτός από το H2O- βάζει σε χωριστή παρένθεση. Αν θες να μπαίνει μόνο το πυρίτιο πες μου να το διορθώσω ή αν δεν θες την έξτρα παρένθεση, σβήνεις τα κατάλληλα κομμάτια από την concatenate.
rafinos Δημοσ. 21 Ιανουαρίου 2020 Μέλος Δημοσ. 21 Ιανουαρίου 2020 7 ώρες πριν, demessakis είπε Η concatenate, δουλεύει και με τον παραπάνω τρόπο, αλλά μπορεί να μπει και ως εξής (το αποτέλεσμα είναι το ίδιο, απλά λόγω βιασύνης...): ="("&CONCATENATE(V2;AF2;W2;AG2;X2;AH2;Y2;AI2;Z2;AJ2;AA2;AK2;AB2;AL2;AC2;AM2;")";"(";AD2;AN2;")";J2;$J$1) Για το πυρίτιο, είχα κάνει λάθος. Μόνο την μεγαλύτερη τιμή όλων εκτός από το H2O- βάζει σε χωριστή παρένθεση. Αν θες να μπαίνει μόνο το πυρίτιο πες μου να το διορθώσω ή αν δεν θες την έξτρα παρένθεση, σβήνεις τα κατάλληλα κομμάτια από την concatenate. Δουλεύουν άψογα τα όσα μου έστειλες. Σε ευχαριστώ πολύ!
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα