Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Εχω ενα excel που εχει μεσα παρα πολλες εγγραφες και σκορπια μεσα ειναι πχ 9ψηφια νουμερα μαζι με κειμενα αλλα νουμερα κλπ

Μπορει να ειναι ή στην ιδια στηλη ή σε διαφορετικες

πχ

Στηλη Α

AHJSG 101254698  101214598  HJKHKHK nlnlnlnll 235

 

Στηλη Β

101251298

 

Μπορω να τα απομονωσω αυτα σε μια νεα στηλη?

101254698

101214598

101251298

Δημοσ.

Υπάρχει κάποιο "pattern" που ξεχωρίζει αυτούς τους αριθμούς που ψάχνεις από τους υπόλοιπους σκόρπιους μέσα στο excel? Γιατί βλέπω στα lorem ipsum που έγραψες, έγραψες και τον αριθμό 235 και δεν το συμπεριέλαβες μετά στο "σωστό δείγμα".

 

πχ1. Ξέρεις στάνταρ ότι οι αριθμοί που ψάχνεις είναι 10 ψηφία?

πχ2. Ξέρεις στάνταρ ότι οι αριθμοί που ψάχνεις ξεκινάνε από 1012... ?

πχ3 ... κτλπ κτλπ

Δημοσ.

export σε csv.

 

Με python έχεις:

 

import csv

def get_number_entries(f_name):
  with open(f_name, 'rb') as f:
    return [elem for line in csv.reader(f) for elem in line.split(',') if elem.isdigit()]
Σώζεις μετά την μεταβλητή σε ένα txt αρχείο, κάνεις c/p στο excel sheet σου και είσαι έτοιμος.

 

Υ.Γ. Γίνεται να το κάνεις απευθείας σε αρχείο. Αλλά είναι λίγο πιο περίπλοκη λύση (ίσως 10 γραμμές κώδικα παραπάνω)

  • Like 1
Δημοσ.

Είναι στάνταρ 9 ψηφία νούμερα. Τα περισσότερα αρχίζουν από 10 αλλά μπορεί και όχι.

Με αυτό που λέει ο φίλος groot μάλλον δεν το έχω οπότε ψάχνομαι με συναρτήσεις Excel ή Access

Δημοσ.

Όπως και να το δεις το πράγμα δεν είναι εύκολο πρόβλημα.

Για παράδειγμα

σου δίνω μια στήλη με αριθμούς, μπορείς να μου βρεις τους περιττούς και να τους γράψεις σε μια στήλη;

Σε αυτό το ερώτημα έχεις δυο διαδικασίες ΕύρεσηΕπόμενου και και ΚαταχώρησηΕπόμενου

Ακριβώς τις ίδιες έχεις και στο δικό σου ζήτημα, με τη διαφορά ότι ο κώδικας στην ΕύρεσηΕπόμενου είναι διαφορετικός.

Η ιδέα του Groot έχει κάτι καλό μέσα..(άσχετα αν σαν συνομιλητή δεν τον χωνεύω και το γράφω στα ίσα), και αυτό είναι ο διαχωρισμός αλφαριθμητικού σε μέρη ως μια λίστα με διαστήματα. Δεν λέει βέβαια πώς θα βγάλεις το κάθε 9 ψήφιο, και επιπλέον σε πάει σε εξαγωγή σε csv πράγμα που σημαίνει ότι πας σε διαλειπτόμενη διεργασία, και όχι συνεχή που θα ήταν αν γίνονταν σε ένα πρόγραμμα. Και προφανώς η λύση που ζητάς είναι για μια μία και έξω διεργασία.

ψάξε και εδώ: search with wildcard

Στη VBA υπάρχει η Like και μια συνθήκη Α$ like "[123456789][1234567890][1234567890][1234567890][1234567890][1234567890][1234567890][1234567890][1234567890]" σου λέει άμεσα αν έχει 9 ψήφιο αριθμό στο αλφαριθμητικό (χωρίς 0 στο πρώτο ψηφίο).

 

Άλλος τρόπος είναι να έχεις συνθήκη LEN(A$)=9 and VAL(A$+" ")>99999999 and VAL(A$+" ")<1000000000

Πρόσεξε το " " το θέλει σε περίπτωση που το split() (το έχει και η VBA αυτό) βγάλει μηδενικό αλφαριθμητικό, γιατί η Val δίνει λάθος αν δεν υπάρχει κάποιο μήκος...στο αλφαριθμητικό.

 

http://www.exceltrick.com/formulas_macros/vba-split-function/

Δημοσ.

O μπακαλικος τροπος που εχω βρει ειναι χωρισμος της καθε στηλης  με το Κειμενο σε στηλες με χωρισμα σε καθε κενο

πχ το κελι  τ23 423 54566φγ 123456789

θα γινει 4 κελια

τ23

423

54566φγ

123456789

και μετα μαζεμα και σορταρισμα ολων των στηλων σε μια στηλη οπου θα ειναι καπως ετσι και θα κρατησω μονο τα κελια με τα 9ψηφια νουμερα

σδφ

δσφ

ςςε

ρ

τ23

423

54566φγ

123456789

123456879

123454871

123548788

Δημοσ.

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

Αφού δεν ξέρεις τι είναι αυτό που έγραψα... γιατί προσπαθείς να δείξεις ότι ξέρεις; Γιατί το σχολιάζεις, ενώ πασιφανέστατα δεν έχεις ιδέα; Μα καμία ιδέα όμως!

 

 

Δεν πρόκειται να αλλάξει κάτι στην ζωή σου ( ; ) εάν 10, 20, 100 τυχαίοι σε ένα forum πειστούν ότι ξέρεις κάτι. Τι να πω...; Άβυσσος η ψυχή του ανθρώπου!

 

 

Υ.Γ. Το ίδιο ισχύει για όλα όσα έχεις γράψει, πλην όσων έχουν να κάνουν με την εφαρμογή για VB που ονομάζεις Μ2000 και κάτι άλλα για excel.

Δημοσ.

Ομοίως δεν μου αλλάζεις την ιδέα μου για σένα, Groot!

(η Μ2000 είναι γλώσσα προγραμματισμού. Η Vb6 είναι επίσης γλώσσα προγραμματισμού που βγάζει exe σε πολύ γρήγορο κώδικα γλώσσας μηχανής και το δικό της dll για βοήθεια. Τι δεν καταλαβαίνεις όταν λες την Μ2000 εφαρμογή της Vb6; Μήπως δεν μιλάμε ελληνικά; Η γλώσσα και να μην γραφόταν σε Vb6 θα ήταν γλώσσα πάλι γραμμένη σε κάτι άλλο. Η Μ2000 είναι Interpreter όχι Compiler)

 

Έχεις θέμα πάντως διότι αυτο elem.isdigit() δεν σου διαχωρίζει τα νούμερα σε εννιαψήφια και μη!

 

Α! και αυτές οι ιδέες που σκορπάς για το πώς με βλέπουν ή μπορεί να με δουν άλλοι εδώ...παραβιάζουν κανόνες του φόρουμ!

3. Να σέβονται τους συνομιλητές τους, ιδίως όταν διαφωνούν με τις απόψεις τους, έχοντας υπ’ όψιν τους ότι είναι θεμιτή η κριτική στις ιδέες αλλά όχι στους ανθρώπους που τις εκφέρουν...

 

Δεν σου έχει πει κανένας ότι ενεργώ με γνώμονα να πείσω κάποιον ότι ξέρω κάτι για να κερδίσω κάτι. Συμμετέχω αφιλοκερδώς, με ότι έχει το κεφάλι μου μέσα, και ακόμα και η Μ2000 είναι ανοικτού κώδικα..άρα δεν διαφημίζω προϊόν...

  • Like 1
Δημοσ.

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

 

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

 

 

Όσο για αυτό:

 

Α! και αυτές οι ιδέες που σκορπάς για το πώς με βλέπουν ή μπορεί να με δουν άλλοι εδώ...παραβιάζουν κανόνες του φόρουμ!

3. Να σέβονται τους συνομιλητές τους, ιδίως όταν διαφωνούν με τις απόψεις τους, έχοντας υπ’ όψιν τους ότι είναι θεμιτή η κριτική στις ιδέες αλλά όχι στους ανθρώπους που τις εκφέρουν...

έχουμε και λέμε:

 

δεν τον χωνεύω

 

όποιος διαβάσει Groot αυτό εδώ που έγραψες [...] θα το χάσει τελείως...το μυαλό του...........Είναι ο ορισμός της σοφιστίας!

Αυτά τα καταλαβαίνουν και τα μικρά παιδιά απλά ο Groot έχει μια μανία

Groot δεν ξέρω τι πίνεις, αλλά κάτι τρέχει εδώ!

Τραγελαφικά συμβαίνουν στο μυαλό σου

 

Θα μπορούσα να βρω μία δικαιολογία για κάποιον να κατηγορεί τους άλλους για αυτό που κάνει πρώτα και συνεχώς ο ίδιος, αλλά εσύ (που έχεις γράψει όλα τα παραπάνω αναφερόμενος σε εμένα) θα έλεγες ότι παραβιάζω τον κανόνα:

 

3. Να σέβονται τους συνομιλητές τους, ιδίως όταν διαφωνούν με τις απόψεις τους, έχοντας υπ’ όψιν τους ότι είναι θεμιτή η κριτική στις ιδέες αλλά όχι στους ανθρώπους που τις εκφέρουν...

 

 

Υ.Γ. Πως βρέθηκα στη ζώνη του λυκόφωτος δεν μπορώ να καταλάβω....

Δημοσ.

Το τραγελαφικά το χρησιμοποίησες εσύ! Αλλά επί του θέματος. Αφού είσαι ικανός να δίνεις τη λύση που θέλει ο άλλος..παίξε μπάλα και άσε τους λοιπούς να γράφουν τις βλακείες τους. Γιατί τους τα χώνεις;

Δημοσ.

Το τραγελαφικά το χρησιμοποίησες εσύ! Αλλά επί του θέματος. Αφού είσαι ικανός να δίνεις τη λύση που θέλει ο άλλος..παίξε μπάλα και άσε τους λοιπούς να γράφουν τις βλακείες τους. Γιατί τους τα χώνεις;

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

 

Αυτό που δεν έχεις την παραμικρή ιδέα είναι ο κώδικας που έγραψα και συγκεκριμένα αναφέρομαι στο σχόλιο:

 

Η ιδέα του Groot έχει κάτι καλό μέσα..(άσχετα αν σαν συνομιλητή δεν τον χωνεύω και το γράφω στα ίσα), και αυτό είναι ο διαχωρισμός αλφαριθμητικού σε μέρη ως μια λίστα με διαστήματα.

 

 

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

Δημοσ.

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

 

..........εκτός και αν δεν τα κάνει οπότε το ερώτημα είναι "τι ήθελε να πει ο ποιητής".

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

Κανένας από μας δεν έχει δίκιο. Εγώ δεν έδωσα πρόγραμμα απλά μίλησα για το split() και μερικές συναρτήσεις μπας και κάτι κάνει ο Θεματοθέτης. Αυτή η ελάχιστη ήταν η βοήθειά μου. Μπορεί και να τα ήξερε. Δεν τρέχει τίποτα.

 

Άντε ας σωπάσουμε εμείς να κάνουν δουλειά εδώ. Ότι είχαμε το δώσαμε!

Δημοσ.

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

 

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

 

Ας είναι :)

 

 

Α! Τελικά, δεν κατάλαβα! Εσύ παραβαίνεις τον κανόνα 3 (που μου έκανες παράθεση πριν) με τα όσα έχεις γράψει; Ή μόνο εγώ που ρωτάω γιατί μιλάς για κάτι που δεν γνωρίζεις;

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...